Quantcast
Channel: InfoQ - 促进软件开发领域知识与创新的传播
Viewing all articles
Browse latest Browse all 1638

通过Istio重新实现微服务 (一):认识 Istio

$
0
0

本文最初发表于Rinor Maloku的个人站点,经原作者授权由InfoQ中文站翻译分享。

Istio是一个开源项目,由来自Google、IBM和Lyft团队协作开发,它为一组特定的问题提供了解决方案,要理解这个解决方案,我们就要明白这些问题到底是什么。当从单体架构迁移到基于微服务的应用时,会带来很多的复杂性,举例来说:

  • 流量管理(Traffic management):超时、重试、负载均衡;
  • 安全性(Security):终端用户的认证和授权;
  • 可观察性(Observability):跟踪、监控和日志。

这些问题都可以在应用层解决,但这样的话,你的服务就无法称其为“微”了,实现这些功能所出的努力都会对公司的资源带来一定的压力,而这些资源本来是可以用来交付业务价值的。我们举个例子:

PM:如果增加一个反馈的特性,预计需要多长时间?

Dev:两个sprint。

PM:什么?!这只是一个简单的CURD!

Dev:创建CURD的功能是非常简单的,但是我们需要对用户和服务进行认证和授权。而且因为网络不可靠,我们需要在客户端实现重试和断路器,为了避免整个系统出现停止响应的情况,我们还需要超时和舱壁模式,除此之外,为了探测出现的问题,我们还需要监控、跟踪……


Viewing all articles
Browse latest Browse all 1638

Trending Articles