2018年微服务服务治理现状

2018年微服务服务治理现状

目前就2种方案

1. 服务治理框架方案,基于业务代码侵入式的方案

单语言最全 Java体系的 Spring Cloud 全家桶套餐 优:成熟大规模验证 劣: 单语言,其他语言接入麻烦
支持多语言的 Tars(腾讯) 服务治理框架 优:腾讯十余年的服务治理经验的开源输出,框架本身完整 劣:只能在平台上玩,外部生产案例较少
其他语言自实现的,如PHP的Swoole方案,Golang的Gokit、GoMicro等 优: 自主可控,随意定制 劣: 需要基础架构团队来hold
其他的一些RPC框架,因为不是一套的服务治理框架这里不谈

本方案最大的劣势是业务代码侵入,要潜入一大堆业务无关的代码,维护客户端的成本也非常巨大

2. ServiceMesh服务网格方案,以Istio为代表的以SideCar(边车)流量代理的方案

Istio背后由IBM和Google共同支持,被誉为下一代的服务治理框架
全套解决方案,服务治理需要的功能统统都有,默认需要运行在Kubernetes上

宜人贷有部分业务已经线上使用 (宜人贷Kubernetes 容器云实践方案 https://mp.weixin.qq.com/s/Mn0TWdiuJSiYw5DlBlT61g)
支付宝公司蚂蚁金服也在持续探索中 (蚂蚁金服大规模微服务架构下的Service Mesh探索之路 http://www.servicemesher.com/blog/the-way-to-service-mesh-in-ant-financial/)
其他有实践的公司: 优信二手车

据公开的资料显示,唯品会,新浪微博都是采用SideCar(边车)流量代理的方式做的多语言接入
Sidecar就是ServiceMesh的雏形

本方案最大的优势是0业务代码侵入,现有业务项目可以直接接入,同时天下没有免费的午餐,最大的劣势是复杂,需要懂操作系统,懂网络,懂容器,懂Kubernetes
后续如果Istio在云上成熟,配套的管理工具成熟,能一定程度降低门槛,让业务开发在OPS上解放出来。

学习推荐

  • IBM 微讲堂 Istio 系列 https://developer.ibm.com/cn/os-academy-istio/
    目标听众:对微服务治理感兴趣的企业决策者、技术调研者、架构师、技术开发人员、运维人员等。
  • 免费的Istio在线实验平台 https://www.katacoda.com/courses/istio
  • 中文用户 ServiceMesher 社群 http://www.servicemesher.com/blog/

2 评论

  1. 需要懂操作系统,懂网络,懂容器,懂Kubernetes

    看完这个介绍 感觉明显不适合中小型公司使用。

    1. Spring Cloud 全家桶,传统模式的代表
      说实话服务网格真的太复杂了,不适合小团队,小公司

      另外好的一方面公有云很快就会支持服务网格, 比如2020年4月份,阿里云基于Istio规范的服务网格已经开始公测了
      希望公有云的服务能够降低使用门槛

发表回复