Service Mesh 公认的定义,是用以处置惩罚服务与服务之间通信的专用底子办法层。更本质的明白,它是服务治理平台,是业务逻辑解耦的必然产物,是数字经济配景下企业对研发效能提升的选择。
服务端架构从单体模块化架构,到 SOA(面向服务架构),到经典微服务架构(服务间采用 RPC 通信),到最新的 Service Mesh,就是一个不停强调解耦和复用的演进进程。
单体模块化架构强调业务逻辑按模块划分
SOA 强调业务逻辑在应用粒度的复用(水平拆分)
经典微服务架构强调业务逻辑在应用粒度的解耦(垂直拆分)
Service Mesh 则强调业务逻辑与服务治理逻辑的分层及解耦
Service Mesh 是所有架构模式中解耦和复用最彻底的,它不但仅强调业务逻辑的解耦和复用,更强调底子办法的解耦和复用。
传统通过 Spring Cloud 实现服务治理的方式,服务治理与业务逻辑耦合在一起,部署、运维都耦合了微服务本身的操作。比如一个 RPC 框架的 bugfix 会引发所有微服务旷日恒久的升级发布,同时带来业务开发职员开发、测试、回归、发布的巨大重复工作量。而 Service Mesh 通过将与业务逻辑无关的服务治理逻辑下沉,让业务开发职员与底子技术开发职员关注点分离,各司其职,大大提升了研发效能。