关于Service Mesh

关于Service Mesh

马草原 554 2022-05-21

关于Service Mesh

微服务架构不是银弹,在业务逐渐增长的过程中可能会遇到以下问题。

  • 业务关注服务间通信,业务之间的通信会导致业务的迭代速度变慢。
  • 基础设施组件升级比较困难,比如说两个应用用的服务降级是同一个组件,依赖基础组件的业务越多,越容易出现问题。比如业务团队的业绩是做业务,而基础设施团队的业绩是让业务团队升级基础组件,但是业务团队很忙,这个时候就很麻烦了。
  • 在微服务之间如果跨语言的话,虽然可以通信,但是通信组件还是很麻烦的,每种语言一套基础设施的话,成本太大了。

我们能不能只关注应用代码,其他的东西都不关注呢?

那么ServiceMess做了什么事情呢,服务网格,其实最早由Linkerd公司提出来的,2016年第一次公开使用,在2017年初进入国内。

Service Mesh是一个基础设施,用于处理服务间的通信,云原生应用有着复杂的服务拓扑,而Service Mesh负责在这些拓扑中实现请求的可靠传递。在实践中,服务网格通常实现为一组轻量级网络代理,它们与应用程序部署在一起,而对应用程序透明。

ServiceMesh重点用来负责拓扑中请求的可靠传递,与应用程序分离但是又部署在同一台服务器,则可以分开升级。

ServiceMesh1

ServiceMesh优点:

  • ServiceMesh独立进程,独立升级
  • 业务团队专注于业务逻辑本身,无需关注通信的可靠性
  • 一套基础设施支持多语言开发
  • 业务团队和基础设施团队物理解耦

ServiceMesh2

云计算技术的成熟和普及以及容器技术的大量应用,为了更快地交付、降低试错风险、更快地拓展业务,云原生应用将会是未来服务演进的方向

用一句很通俗易懂的比喻来形容Service Mesh就是:

Service Mesh 是微服务时代的 TCP/IP 协议。