购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.5 Service Mesh其他解决方案

3.5.1 国外其他Service Mesh项目

Service Mesh技术的迅速发展,撼动了微服务通信和流量管理相关的整个生态体系,相关厂商也针对性地推出了自己的Service Mesh支持方案,比较有影响力的有Aspen Mesh、Consul、nginMesh和Kong,下面分别讨论下各自的诉求和侧重点。

Aspen Mesh是由负载均衡领域的领导者F5推出的Service Mesh解决方案,Aspen Mesh基于Istio 1.0开发,相对Istio 1.0来说有如下优势:

·作为托管的SaaS平台;

·丰富的UI仪表板;

·更多的实验特性;

·可获得Aspen Mesh工程师团队的专业支持。

HashiCorp Consul通过新增组件Connect来实现对Service Mesh的支持,Connect可自动将任何现有的Consul集群转换为Service Mesh解决方案。Connect通过自动TLS加密和基于身份的认证实现安全的服务到服务通信。Connect建立在易于使用的基础上,可以使用一个配置选项启用它,只需向服务注册添加一行代码,就会自动使任何现有应用程序接收基于Connect的连接。证书轮换是自动的,不会导致停机。

nginMesh是Nginx推出的Service Mesh开源项目,通过增加一定的管理手段,将Nginx作为Istio服务网格平台中的数据平面。它提供负载均衡、服务发现、请求转发、路由规则、性能指标收集等功能,并将以“标准,可靠和安全的方式”使得服务间通信更容易。从GitHub上看,nginMesh最近几个月的更新频率并不算高,特性相比之前也没有大的变化,只能算是Nginx公司的试水之作。

API网关解决方案提供商Kong很早就有支持Service Mesh的想法,从GitHub上很早就加上了Service Mesh的标签,但一直没有具体的动作。2018年9月,Kong 1.0正式发布,通过在Kong实例之间添加MTLS(Mutual Transport Layer Security)和修改插件运行循环来支持Service Mesh部署模式。通过这些更改可以将Kong与服务的每个实例部署在一起,代理服务之间的信息流随服务的伸缩而自动伸缩。

从Aspen Mesh、Consul、nginMesh以及Kong这几个代表性产品对Service Mesh支持来看,当前并没有特别的惊艳之处,这些厂商之前处于其他领域,是担心自己擅长的传统领域被Service Mesh颠覆而采取的防御之作,后续还需要持续进一步观察。

3.5.2 Service Mesh在中国的发展

Service Mesh技术,国内动作最大的当属阿里系,阿里系总体上采用两头出击的方式。其中Dubbo当前的思路是,迎合Istio已成Service Mesh事实上大标准的大形势,将阿里当前成熟的服务治理基础设施融入Istio/Envoy体系,与领域主流开源项目形成合力发展,源于开源、反哺开源。数据平面部分,和Envoy一起,实现Envoy对Dubbo协议的解析和统计信息收集,进入Envoy主线;此外服务路由支持当前还在规划中。控制平面,将阿里之前已经开源的服务治理基础设施和Istio对接,当前已完成与VIPServer、Diamond的对接,正规划与ZooKeeper、Nacos的对接。

蚂蚁金服的Sofa Mesh控制平台基于Istio进行改进和扩展定制,数据平面采用完全自研的方式。据Sofa的技术人员说,他们有个非常宏大的蓝图,将来会把原有的网络和中间件方面的各种能力在Mesh层重新沉淀,打造成为未来新一代架构的底层平台,承载各种服务通信的职责,因此采用了基于Golang语言、完全自研的数据平面。蚂蚁金服的Service Mesh解决方案当前均已经开源,控制平面SOFAMesh在GitHub上的地址是: https://github.com/alipay/sofa-mesh ,数据平面SOFAMosn在GitHub上的地址是: https://github.com/alipay/sofa-mosn ,感兴趣的读者可以针对性的研究下。

国内其他公司,华为公有云和腾讯云的PaaS微服务治理平台当前均支持Service Mesh技术,其中华为公有云采用自研的方式,腾讯云的TSF微服务平台采用基于开源的Istio/Envoy技术栈,进行扩展和定制。

微博是国内一线互联网公司中比较早在生产环境下实践Service Mesh技术的公司,积累了不少实战经验,微博的Service Mesh实践是结合自身业务特点,完全从解决业务痛点问题出发而产生的,并且实践比较早,和当前热门的Istio/Envoy以及Kubernetes之间并没有多少关联,算是一种平台无关的Service Mesh实现,微博的Service Mesh技术实践也已经开源,在GitHub上的地址为: https://github.com/weibocom/motan-go

唯品会是国内最早进行Service Mesh相关探索和实践的公司,唯品会的主流技术栈是Java,并且有着成熟完善的Java服务治理体系OSP(Open Service Platform),早在2015年,唯品会就在生产环境中采用Sidecar方式,用于非Java系语言的多语言接入和服务治理支持,很好地解决了业务快速发展过程中的多语言技术栈痛点问题。当前,唯品会正在计划基于Service Mesh进行智能参数治理、智能故障分析和告警以及全链路服务综合治理等工作,同时在筹备2019年将唯品会生产环境中使用的Service Mesh解决方案进行开源。

Service Mesh周边基础设施方面,国内当前也有了长足发展,尤其是分布式跟踪项目Skywalking发展迅速,后续值得持续关注。 xiEf2FrKCyDLN6LDjNk7C6IQ2BT1RV+erPuJBSl3yuQ+6DUp7XvP4QPIeubOB5TL

点击中间区域
呼出菜单
上一章
目录
下一章
×