Service Mesh(服务网格)是一种微服务之间通信的解决方案,是系统技术架构中的基础设施层。Service Mesh通常由一组轻量级的网络代理组成,网络代理也成为sidecar,每个网络代理与应用程序部署在一起,代理应用程序发起请求和监听请求。Service Mesh架构是Master Slave架构。Slave节点就是sidecar,也就是数据面(Data Plane),负责代理微服务之间的通信,完成服务注册、服务发现、负载均衡、流量管理、熔断限流、监控追踪、访问控制一系列与具体业务无关的功能。Master节点是控制面(Control Plane)负责对数据面进行管理。
Service Mesh微服务方案的优势是:
- 屏蔽分布式系统通信的复杂性,服务只用关注业务逻辑。
- 服务可以用任何语言编写,只需和Service Mesh通信。