54 | 管理设计:边车模式
陈皓
该思维导图由 AI 生成,仅供参考
你好,我是陈皓,网名左耳朵耗子。
所谓的边车模式,对应于我们生活中熟知的边三轮摩托车。也就是说,我们可以通过给一个摩托车加上一个边车的方式来扩展现有的服务和功能。这样可以很容易地做到 " 控制 " 和 " 逻辑 " 的分离。
也就是说,我们不需要在服务中实现控制面上的东西,如监视、日志记录、限流、熔断、服务注册、协议适配转换等这些属于控制面上的东西,而只需要专注地做好和业务逻辑相关的代码,然后,由“边车”来实现这些与业务逻辑没有关系的控制功能。
边车模式设计
具体来说,你可以理解为,边车就有点像一个服务的 Agent,这个服务所有对外的进出通讯都通过这个 Agent 来完成。这样,我们就可以在这个 Agent 上做很多文章了。但是,我们需要保证的是,这个 Agent 要和应用程序一起创建,一起停用。
边车模式有时候也叫搭档模式,或是伴侣模式,或是跟班模式。就像我们在《编程范式游记》中看到的那样,编程的本质就是将控制和逻辑分离和解耦,而边车模式也是异曲同工,同样是让我们在分布式架构中做到逻辑和控制分离。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
分布式系统设计模式中的边车模式是一种通过给现有服务加上一个边车来扩展功能的设计模式。边车模式实现了控制和逻辑的分离,通过服务的Agent来完成对外通讯,监视、日志记录、限流、熔断、服务注册、协议适配转换等控制功能,让应用服务专注于业务逻辑。边车模式可通过SDK、Lib或Framework软件包方式或Sidecar方式集成,但需注意侵入性和复杂度。适用于老系统改造、多语言混合的分布式服务系统、标准化控制面上的动作和技术。在工程实现上需注意进程间通讯机制、服务协议、整体打包、构建、部署、管控、运维、功能设计、上下文传递机制等方面。边车模式有利于提高系统稳定性和可用性,分工明确。文章还提到了边车模式的实现方式和适用场景,以及使用Docker来打包边车和服务两者的便利性。总体而言,边车模式是一种适用于复杂架构、多语言服务系统、标准化控制面上的动作和技术的设计模式,有助于优化系统架构和提高系统稳定性。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》,新⼈⾸单¥98
《左耳听风》,新⼈⾸单¥98
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(32)
- 最新
- 精选
- 约书亚出门左转,service mesh就是靠sidecar支撑起来的,随着微服务的升级换代sidecar会越来越多的提起 netflix有prana,主要是针对自己的微服务全家桶的,好像spring cloud也有对应实现2018-04-26219
- AYOU求一个边车模式的开源项目。。2018-04-26515
- neohope在近期的项目中用过,新项目是基于spring cloud的,我们有些旧服务是C#写的webservice,重新封装为rest,并用了side car模式提供服务信息和监控信息,虽然与spring boot实现的服务还是有些差距,但效果还可以:)2018-06-2416
- alienradiolinkerd 边车部署2018-04-283
- Geek_CK2020为了把诸如监视、日志、限流等控制逻辑与业务逻辑分离解耦,我们可以采用边车模式。2020-04-272
- 戰の猫哈哈,前两天刚看了一点service mesh。今天看到sidecar越看越眼熟2020-01-022
- 文刂 氵共 超检查学习,学习笔记 https://mubu.com/colla/3uIVMTpB10M2019-12-312
- 秋天有没有可以参考的边车模式实现????2018-04-262
- 曾经的十字镐第一遍没有好好看,感觉和api gateway差不多,第二遍看的时候发现其中的猫腻,感谢老鼠哥2018-04-2622
- 健康的小牛犊istio的数据平面使用的envoy就是一个典型的边车,接管了pod里所有和网络通信相关的内容2021-05-121
收起评论