服务网格(Istio、Linkerd)将跨域网络关注点——重试、超时、mTLS、流量路由、可观测性——从应用代码中移出,转移到sidecar 代理的网络基础设施层。
工作原理
每个服务实例都运行一个sidecar 代理(例如 Envoy)。所有流量都通过代理,代理们组成数据平面;一个控制平面对它们进行配置。
text
┌─────────────────┐ ┌─────────────────┐
│ Service A │ │ Service B │
│ app ⇄ [proxy] │◀──────▶│ [proxy] ⇄ app │
└─────────────────┘ mTLS └─────────────────┘
▲ configured by ▲
└──── Control Plane (Istio/Linkerd) ────┘
