Sidecar 模式


Sidecar 模式

Sidecar 模式是 Service Mesh 中习惯采用的模式,是容器设计模式的一种,将应用程序的组件部署到单独的进程或容器中,以提供隔离和封装。 使用此模式还可以使用异构组件和技术来构建应用程序。

此模式名为 Sidecar ,因为它类似于附加到摩托车的侧车。 在此模式中,挎斗附加到父应用程序,为应用程序提供支持性功能。 此外,挎斗与父应用程序具有相同的生命周期:与父应用程序一起创建,一起停用。 挎斗模式有时也称为搭档模式,这是一种分解模式。

什么是 Sidecar 模式

将应用程序的功能划分为单独的进程可以被视为 Sidecar 模式。如图所示,Sidecar 模式允许您在应用程序旁边添加更多功能,而无需额外第三方组件配置或修改应用程序代码。

如图所示:
Sidecar

使用 Sidecar 模式的优势

Sidecar 模式具有以下优势:

  • 将与应用业务逻辑无关的功能抽象到共同基础设施降低了微服务代码的复杂度。
  • 因为不再需要编写相同的第三方组件配置文件和代码,所以能够降低微服务架构中的代码重复度。
  • 降低应用程序代码和底层平台的耦合度。

Sidecar 模式如何工作

Sidecar 是容器应用模式的一种,也是在 Service Mesh 中发扬光大的一种模式,详见 Service Mesh 架构解析 ,其中详细描述使用了节点代理和 Sidecar 模式的 Service Mesh 架构。

使用 Sidecar 模式部署服务网格时,无需在节点上运行代理,但是集群中将运行多个相同的 Sidecar 副本。在 Sidecar 部署方式中,每个应用的容器旁都会部署一个伴生容器,这个容器称之为 Sidecar 容器。Sidecar 接管进出应用容器的所有流量。在 Kubernetes 的 Pod 中,在原有的应用容器旁边注入一个 Sidecar 容器,两个容器共享存储、网络等资源,可以广义的将这个包含了 Sidecar 容器的 Pod 理解为一台主机,两个容器共享主机资源。


文章作者: rokey
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 rokey !
评论
 上一篇
Service Mesh架构解析 Service Mesh架构解析
转载至servicemesher 定义Service Mesh 直译为服务网格,分为两部分理解。 通讯组件是应用系统微服务化的其中一种典型方案,重点在于Service Mesh是运行在请求/响应上层的通信层,专注于抽象应用系统之间
2022-06-05
下一篇 
caddy caddy
Caddy是一款基于Go语言编写的强大且可扩展的平台,可以给你的站点、服务和应用程序提供服务。如果你是Caddy的新手,那么你提供Web服务的方式即将改变。 仅因为该http服务器支持自动https插件,此处留作备忘 https://cad
2022-06-03
  目录