Sidecar設計模式

Kubernetes引入的設計模式,指的是在同一Pod中,除了承載主要業務邏輯的容器外,還運行一個稱爲sidecar的輔助容器,提供一些通用功能支持。

Sidecar模式

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

比如使用Sidebar容器處理日誌,可以讓應用不用關心日誌發送到哪裏,僅輸出到stdout就可以。容器的輸出會被同一Pod中的SideCar輔助容器截取,併發送到日誌聚合平臺如(ElasticSearch)。

這使得運行在Kubernetes中的微服務可以實現分佈式鏈路跟蹤(Distribute Tracing)等功能。
在這裏插入圖片描述
其實另外兩種模式Ambassador pattern,Adapter Pattern都差不多。也是在同一個Pod裏運行一個輔助容器。

Ambassador模式

這個輔助容器用於代理網絡流量,比如讀寫分離,分庫代理。主要容器可以使用localhost來訪問數據庫,AM輔助容器截取請求,將讀請求分發到從節點,而將寫請求發送到主節點。

在這裏插入圖片描述

總結

其實輔助容器可以做很多事情,只要主要容器不想做的事情,可以統統扔到輔助容器裏去實現。如請求報文轉換(Adapter Pattern),監控統計等。

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