框架对比

产品对比

在云原生技术蓬勃发展的今天,通过相关权威机构如CNCF的管理,国内外很多优秀的开源云原生技术都已面世。如Conduit、Consul、Envoy、华为的ServiceMesher、新浪微博MotanMeshMosn等等。国内的大型互联网厂商如Alibaba、字节跳动,以及一些优秀的公司如中原银行、中移在线等,都在不遗余力的拥抱云原生,拥抱下一代Mesh化的微服务架构。

  • Linkerd(读作“link-dee”2016年发布的元老级项目。Linkerd最初是从Twitter开发的一个库中分离出来的,在领域内的另一个重量级项目Conduit加入后,便形成了Linkerd 2.0的基础。

  • Envoy:由Lyft创建,Envoy充当服务网格的“数据平面”,与“控制平面”相匹配,提供比较完整的服务网格服务。

  • Istio:由LyftIBM和谷歌联合开发而成,是服务于Envoy等代理的“控制平面”。虽然默认是与Envoy成对匹配,但是它们都可以与其他平台配对使用。

  • HashiCorp Consul:在Consul 1.2版本后,推出了名为Connect的功能,这个功能为HashiCorp的分布式系统的服务发现和配置部分,添加了服务加密和基于身份的授权的功能。这个使得使HashiCorp Consul成为非常完整的服务网格。

Istio

Istio是由GoogleIBMLyft共同开发的一款开源Service Mesh,通过Istio可以轻松的为已经部署的服务创建一个服务网格,而服务的代码只需要很少更改甚至无需更改。Istio也是一个与K8s紧密结合的适用于云原生场景的Service Mesh产品,通过Istio平台可以更方便的进行服务治理。Istio具有的强大特性提供了一种统一的、更有效的方式来保护、连接和监视服务。Istio只需要进行简单的配置就可实现服务的负载均衡、服务到服务的身份验证等分布式功能。Isito的控制平面非常强大,它可以对Istio进行配置和管理,包括:

  • 使用TLS加密、强身份认证和授权的集群内服务到服务的安全通信
  • 自动负载均衡的HTTP、gRPC、WebSocketTCP流量
  • 通过丰富的路由规则、重试、故障转移和故障注入对流量行为进行细粒度控制
  • 一个可插入的策略层和配置API,支持访问控制、速率限制和配额
  • 对集群内的所有流量(包括集群入口和出口)进行自动度量、日志和跟踪

Istio 示意图

Linkerd

Linkerd是运行在Kubernetes上的Service Mesh,它提供了运行时服务调式、服务可观察性、可靠性和安全性的能力,并且服务的所有代码都无需进行修改。

Linkerd的工作原理是在每个服务实例所在的环境中部署一组超轻的透明代理,并且这些代理会自动处理所有来往于服务的流量。这些代理相对应用程序来说是透明的,他们可以高效的直接向控制平面发送遥测数据并接收控制信号,而不会被应用程序所感知。这种设计允许Linkerd在不引入过多延迟的情况下测量和操纵进出服务的流量。

Linkerd 示意图

上一页
下一页