8.7 小结
在本章第二节,我们回顾了服务间通信的演变,并阐述了服务网格出现的背景。相信你已经理解,服务网格之所以备受推崇,关键不在于它提供了多少功能(这些功能传统 SDK 框架也有),而在于其将非业务逻辑从应用程序中剥离的设计思想。
从最初 TCP/IP 协议的出现,我们看到网络传输相关的逻辑从应用层剥离,下沉至操作系统,成为操作系统的网络层。分布式系统的崛起,又带来了特有的分布式通信语义(服务发现、负载均衡、限流、熔断、加密...)。为了降低治理分布式通信的心智负担,面向微服务的 SDK 框架出现了,但这类框架与业务逻辑耦合在一起,带来门槛高、无法跨语言、升级困难三个固有问题。
而服务网格的出现为分布式通信治理带来了全新的解决思路:通信治理逻辑从应用程序内部剥离至边车代理,下沉至 Kubernetes、下沉至各个云平台。沿着上述“分离/下沉”的设计理念,服务网格的形态不再局限于边车代理,开始多元化,陆续出现了 Proxyless、Sidecarless、Ambient Mesh 等多种模式。
无论通信治理逻辑下沉至哪里、服务网格以何种形态存在,核心都是把非业务逻辑从应用程序中剥离,让业务开发更简单。这正是业内常提到的“以应用为中心”设计理念的体现。
总字数:424字