前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >边车设计模式-Sidecar pattern

边车设计模式-Sidecar pattern

原创
作者头像
sdcuike
修改2019-12-20 10:38:24
1.1K0
修改2019-12-20 10:38:24
举报
文章被收录于专栏:sdcuike专栏sdcuike专栏

Sidecar pattern          

                                             

                                                        

Sidecar pattern和哈雷车类似原理:把一个应用的不同组件部署到不同的进程或容器中,以提供隔离和封装,应用的各个组件各自维护更新。这种模式还可以使应用由异构组件和技术组成,比如java服务和consul注册中心(如果公司采用了k8s技术会一般会使用)。

在现实开发中我们会遇到什么问题呢:

(1)为应用添加其他功能:监控、日志、配置中心、路由及熔断等功能;

       这样避免了在应用本身利用aop技术或其他添加代码的方式让应用的体积变大。

                                                    

                            

                                                   配置文件  Sidecar pattern

                                                              日志收集Sidecar pattern

(2)为一个遗留的应用,升级为https访问。这时候这个应用使用的技术太老,没人熟悉;  

                                                  

     避免了对老应用动手术;其实这种与适配器设计模式相同的目的,已存在的不是我们希望的,但是可以添加一个中间层解决。

 

 

sidecar pattern的优点:

(1)低耦合:为应用容器添加增强功能,而对其不变动;

(2)单一职责:每个容器的职责不同;

(3)即使sidecar容器失败,应用容器不受影响;

(4)复用

  (5) 各自更新,不相互影响

 

什么时候不要考虑sidecar pattern

(1)应用容器比较小,使用sidecar pattern容易导致复杂性和其它耗费;

(2)sidecar容器和应用容器之间的通信耗时太过敏感

 

 

任何设计都有适合的场景,只能根据当前环境选择。

 

参考:

https://docs.microsoft.com/en-us/azure/architecture/patterns/sideca

https://tachingchen.com/tw/blog/desigining-distributed-systems-the-sidecar-pattern-concept/

https://www.beautifulcode.co/blog/55-what-is-sidecar-pattern

https://dzone.com/articles/sidecar-design-pattern-in-your-microservices-ecosy-1

Designing Distributed Systems.pdf

————————————————

版权声明:本文为CSDN博主「A_Beaver」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/doctor_who2004/article/details/103624807

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档