浅析各种开源的服务网格比较

开课吧开课吧锤锤2021-08-09 16:49

服务网格一直有很高的热度。正如Linkerd的作者WilliamMorgan所提到的:“服务网格本质上无非就是和应用捆绑在一起的用户空间代理。”此说法相当简洁,他还补充道,“如果你能透过噪音看清本质,服务网格能给你带来实实在在的重要价值。”  

浅析各种开源的服务网格比较

Envoy是许多服务网格框架的核心组件,是一个通用的开源代理,常被用于Pod内的sidecar以拦截流量。也有服务网格使用另外的代理方案。  

若论具体服务网格方案的普及程度,Istio和Linkerd获得了更多的认可。也有其它可选项,包括ConsulConnect,Kuma,AWSAppMesh和OpenShift。下文会阐述服务网格提供的关键特性。  

Istio  

Istio是基于Envoy构建的一个可扩展的开源服务网格。开发团队可以通过它连接、加密、管控和观察应用服务。Istio于2017年开源,目前IBM、Google、Lyft仍在对其进行持续维护升级。Lyft在2017年把Envoy捐赠给了CNCF。  

Istio花了不少时间去完善增强它的功能特性。Istio的关键特性包括负载均衡、流量路由、策略创建、可度量性及服务间认证。  

Istio有两个部分组成:数据平面和控制平面。数据平面负责处理流量管理,通过Envoy的sidecar代理来实现流量路由和服务间调用。控制平面是主要由开发者用来配置路由规则和观测指标。  

Istio观测指标是细粒度的属性,其中包含和服务行为相关的特定数据值。下面是个样例:  

request.path: xyz/abc request.size: 234 request.time: 12:34:56.789 04/17/2017 source.ip: [192 168 0 1] destination.service.name: example

Linkerd  

按照官网的说法,Linkerd是一个轻量级、安全优先的Kubernetes服务网格。它的创建流程快到让人难以置信(据称在Kubernetes安装只需要60秒),这是大多数开发者喜闻乐见的。Linkerd并没有采用基于Envoy的构建方案。而是使用了一个基于Rust的高性能代理linkerd2-proxy,这个代理是专门为Linkerd服务网格编写的。  

Linkerd由社区驱动,是100%的Apache许可开源项目。它还是CNCF孵化项目。Linkerd始于2016年,维护者也花了不少时间去解决其中的缺陷。  

使用Linkerd服务网格,应用服务可以增强其可靠性、可观测性及其在Kubernetes上部署的安全性。举个例子,可观测性的增强可以帮助用户解决服务间的延迟问题。使用Linkerd不要求用户做很多代码调整或是花费大量时间写YAML配置文件。可靠的产品特性和正向的开发者使用回馈,使得Linkerd成为服务网格中一个强有力的竞争者。  

点击图片,免费领取课程!

浅析各种开源的服务网格比较

以上就是开课吧广场小编为大家整理发布的“浅析各种开源的服务网格比较”一文,更多Java教程相关内容尽在开课吧Java教程频道。  

 

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享