1.1 服务网格简介

上一章

1.1.2 服务网格的优势

下一章

更多图书

1.1.1 服务网格的概念与特点

服务网格(service mesh)这个概念来源于Buoyant公司的CEO Willian Morgan的文章“What's a service mesh?And why do I need one?”。服务网格是一个专注于处理服务间通信的基础设施层,它负责在现代云原生应用组成的复杂服务拓扑中可靠地传递请求。在实践中,服务网格通常是一组随着应用代码部署的轻量级网络代理,而应用不用感知它的存在。

服务网格的特点如下:

·轻量级的网络代理。

·应用无感知。

·应用之间的流量由服务网格接管。

·把服务间调用可能出现的超时、重试、监控、追踪等工作下沉到服务网格层处理。

服务网格的原理大致如图1-1所示,深色部分代表应用,浅灰色部分代表服务网格中轻量级的网络代理,代理之间可以相互通信,而应用之间的通信完全由代理来进行。如果只看代理部分,可以看到一个网状结构,服务网格由此得名。

服务网格一般由数据平面(data plane)和控制平面(control plane)组成,数据平面负责在服务中部署一个称为“边车”(sidecar)的请求代理,控制平面负责请求代理之间的交互,以及用户与请求代理的交互。服务网格的基本架构如图1-2所示。

图1-1 服务网格原理(图片来源:Pattern:Service Mesh)

图1-2 服务网格架构(图片来源:Pattern:Service Mesh)