架构风格与模式58 条

边车模式(Sidecar)

把日志采集、代理、配置注入等横切能力放到与主应用并行的辅助进程或容器中,二者共享生命周期与网络命名空间,主应用保持技术无关。

部署形态Kubernetes 中同一 Pod 内容器;传统环境中为同主机进程
典型能力流量代理、mTLS、指标采集、配置热加载
收益能力与语言无关,可独立升级

Kubernetes 边车示例(片段)

Kubernetes 边车示例(片段)
spec:
  containers:
  - name: app
    image: registry/app:1.4.2
  - name: envoy
    image: envoyproxy/envoy:v1.29
    ports:
    - containerPort: 9901
服务网格的数据面就是边车模式的规模化实践;评估时要计入每个实例的资源开销。

易错点

  • 边车与主容器版本不匹配,升级时互相影响
  • 边车数量膨胀,实例资源开销与启动时间显著上升

数据来源与参考

  • Microsoft Azure 架构中心 Sidecar 模式
  • Kubernetes 官方文档(Pod 多容器)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌