Service Mesh是什么?

微服务的网络架构

微服务架构中,每个功能模块仅负责一小块职责,微服务之间通过HTTP/TCP交互。

微服务之间的网络交互,需要限流、熔断、服务发现等等服务治理的功能,每个微服务内部都要集成相关的lib代码。

Service Mesh是什么?_第1张图片

业务代码开发过程中,一般使用框架来实现上述的功能,比如spring cloud,提供了hystrix、Eureka等熔断、服务发现等功能。

service mesh: v1

kubernetes时代来了,我们把微服务部署在一个个的Pod中。

服务之间的网络交互,通过各自pod内的sidecar container来实现,sidecar内集成了服务熔断、服务发现的功能。

Service Mesh是什么?_第2张图片

这样业务代码的开发,不必再关注服务熔断、服务发现等功能,专注于实现业务即可。

服务之间的交互,交由sidecar之间进行,最终所有的服务组成如下的一个“网格”:

Service Mesh是什么?_第3张图片

service mesh: v2

sevice mesh的v1是通过sidecar代理实现服务之间的交互,service mesh v2则引入了集中的控制面管理,lstio是service mesh v2的典型代表。

Service Mesh是什么?_第4张图片

control Plane可以进行全局的流量管控、路由下发,从control Plane的角度看,网络的流量变成如下的样子:

Service Mesh是什么?_第5张图片

参考

1.https://zhuanlan.zhihu.com/p/...
2.https://philcalcado.com/2017/...

你可能感兴趣的