Sidecar设计模式

Kubernetes引入的设计模式,指的是在同一Pod中,除了承载主要业务逻辑的容器外,还运行一个称为sidecar的辅助容器,提供一些通用功能支持。

Sidecar模式

Sidecar模式我感觉完全可以概括下面我说的所有模式,

比如使用Sidebar容器处理日志,可以让应用不用关心日志发送到哪里,仅输出到stdout就可以。容器的输出会被同一Pod中的SideCar辅助容器截取,并发送到日志聚合平台如(ElasticSearch)。

这使得运行在Kubernetes中的微服务可以实现分布式链路跟踪(Distribute Tracing)等功能。
在这里插入图片描述
其实另外两种模式Ambassador pattern,Adapter Pattern都差不多。也是在同一个Pod里运行一个辅助容器。

Ambassador模式

这个辅助容器用于代理网络流量,比如读写分离,分库代理。主要容器可以使用localhost来访问数据库,AM辅助容器截取请求,将读请求分发到从节点,而将写请求发送到主节点。

在这里插入图片描述

总结

其实辅助容器可以做很多事情,只要主要容器不想做的事情,可以统统扔到辅助容器里去实现。如请求报文转换(Adapter Pattern),监控统计等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章