框架对比

产品对比

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

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

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

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

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

Istio

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

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

Istio 示意图

Linkerd

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

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

Linkerd 示意图

上一页
下一页