Service Mesh:什么是Sidecar模式

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

一些例子以下:git

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

  • 隔离(separation of concerns):让每一个容器都可以关注核心问题。好比web-server提供网页服务,而sidecar则处理web-server的日志,这有助于在解决问题时不与其余问题的处理发生冲突;
  • 单一责任原则(single responsibility principle):容器发生变化须要一个明确的理由。换句更容易理解的话来讲,每一个容器都应该是可以处理好“一件”事情的,而根据这一原则,咱们应该让不一样的容器分别展开工做,应该让它们处理的问题足够独立;
  • 内聚性/可重用性(Cohesiveness/Reusability):使用sidecar容器处理日志,这个容器按道理应该能够应用的其余地方重用;

以上例子正以下图所示:spring

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


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

进一步了解:Rainbond网络

相关文章
相关标签/搜索