什么是 Sidecar 模式
将应用程序的功能划分为单独的进程,即
Sidecar
模式。
Sidecar
译为摩托车的边车,用到软件架构中,
Sidecar
模式指在原来的业务逻辑上再新加一个抽象层。
Sidecar
模式是一种更具动态性的方法,其作为一种模式并不是
Kubernetes
的正式约定。它将应用程序的功能划分为单独的进程,运行在同一个 pod 中,
Sidecar
模式允许在应用程序旁边添加功能,而无需修改应用程序代码。
Sidecar 示意图
Sidecar 的优势
在
Sidecar
部署方式中,每个应用的容器旁都会部署一个或者多个伴生容器,多个容器共享存储、网络等资源。具体优势有:
- 将不同的功能抽象到不同的层来降低微服务的代码复杂性。
-
每个
Sidecar
可以独立升级更新。 - 分离业务无关功能(例如:配置文件获取),提升代码重用度。
- 不再需要编写相同的第三方组件配置文件和代码,能够降低代码重复度。
Sidecar 如何工作
本文使用
serivce mesh
做为示例。来自服务的所有传入和传出网络流量均通过
Sidecar
代理,完成服务之间的流量管理、限流、熔断等策略的执行。它将网络依赖抽象成
Sidecar
,而服务对于网络是无感知的,只知道所附加的
Sidecar
代理。
Sidecar 如何注入
-
手动注入,通过手工修改工作负载的方式,添加
Sidecar
的配置。
kind
版权声明:本文为quanxiangcloud原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。