API Gateway(API 网关)
API gateway
位于应用程序的前面,旨在解决身份验证和授权、速率限制以及为外部消费者提供公共访问点等业务问题。
相比之下,service mesh
专注于提供应用程序组件之间的操作(而非业务)逻辑。
Cluster(集群)
在云原生环境中,cluster
是一组物理或虚拟机器,它们构成了容器(container
)编排器(如 Kubernetes
)可以运行的硬件池。
集群中的每台机器通常被称为一个 node
,cluster
的 node
通常是统一的、可互换的和互连的。
Container(容器)
Container
是应用程序及其依赖项的轻量级包装,旨在由主机操作系统 (OS
) 以隔离方式运行,并严格限制资源消耗和对操作系统的访问。
从这个意义上说,容器是一个原子可执行“单元”,可以由操作系统运行,无需特定于应用程序的设置或配置。
在 service mesh
环境中,container
被 Docker
推广为虚拟机 (VM
) 的轻量级替代品,
虚拟机 (VM
) 具有相似的特征,但重量要大得多。反过来,container
的兴起又催生了 Kubernetes
等 container
编排器,
它允许应用程序在打包为 container
时自动跨机器池(称为 cluster
)进行调度。Kubernetes
的兴起催生了 sidecar
部署模型,
它允许像 Linkerd
这样的 service mesh
以与应用程序解耦的方式提供其功能,
并且不会给运营商带来严重的运营成本。
Control Plane(控制平面)
Service Mesh
的 control plane
提供 data plane
运行所需的命令和控制信号。control plane
控制 data plane
并提供 operator
用来配置、监控和操作 mesh
的 UI
和 API
。
Data Plane(数据平面)
Service Mesh
的 data plane