Service Mesh:什么是Sidecar模式

谈到Service Mesh微服务架构,就不得不谈Sidecar模式——一种单节点、多容器的应用设计形式。Sidecar主张以额外的容器来扩展或增强主容器,而这个额外的容器被称为Sidecar容器。

一些例子如下:

Web-server容器可以与一个sidecar容易共同部署,该sidecar容器从文件系统中读取由Web-server容器生成的web-server日志,并将日志/stream发送到原称服务器(remote server)。Sidecar容器通过处理web-server日志来作为web-server容器的补充。当然,可能会有人说,为什么web-server不自己处理自己的日志?答案在于以下几点:

  • 隔离(separation of concerns):让每个容器都能够关注核心问题。比如web-server提供网页服务,而sidecar则处理web-server的日志,这有助于在解决问题时不与其他问题的处理发生冲突;

  • 单一责任原则(single responsibility principle):容器发生变化需要一个明确的理由。换句更容易理解的话来说,每个容器都应该是能够处理好“一件”事情的,而根据这一原则,我们应该让不同的容器分别展开工作,应该让它们处理的问题足够独立;

  • 内聚性/可重用性(Cohesiveness/Reusability):使用sidecar容器处理日志,这个容器按道理应该可以应用的其他地方重用;

以上例子正如下图所示:

另一个例子是在web-server容器与sidecar容器共同部署时,将文件系统与git存储库同步。(我们需要注意Git同步容器的重用醒)如下图所示,应用容器知识链接到本地机器的Redis服务器上:


开源PaaS Rainbond v3.6.0版本现已发布,提供Service Mesh微服务架构的开箱即用,插件式扩展治理功能,并支持spring cloud、api gateway、dubbo等框架。

进一步了解:Rainbond

  • 技术开源PaaS Rainbond v3.6.0正式发布,Service Mesh开箱即用
  • 技术 解读Rainbond ServiceMesh微服务架构_开源PaaS Rainbond 2018/05/15
  • 技术 Pinpoint-java性能分析最佳实践_开源PaaS Rainbond 2018/05/08
  • 技术 通过Minio搭建私有化对象存储服务_开源PaaS Rainbond 2018/04/26
  • 技术 揭秘高可用负载均衡组件Rainbond-Entrance_开源PaaS Rainbond 2018/04/25
  • 技术 Rainbond插件体系设计简介_开源PaaS Rainbond 2018/02/24
  • 技术 Rainbond如何对接外部Maven仓库_开源PaaS Rainbond 2018/01/18
  • 技术 Spring Boot框架配置MySQL_开源PaaS Rainbond 2018/01/10
  • 技术 基于Midonet的多租户网络设计_开源PaaS Rainbond 2018/01/09

转载于:https://juejin.im/post/5b2b13fe6fb9a00e8d088f4e

你可能感兴趣的:(Service Mesh:什么是Sidecar模式)