2021-01-27 分類: 網站建設
Docker 是一個開源項目,誕生于 2013 年初,最初是 dotCloud 公司內部的一個業余項目,自開源后受到廣泛的關注和討論,以至于dotCloud 公司后來都改名為 Docker Inc。
Docker 是一個使用Go語言開發的開源的應用容器引擎,是PaaS提供商dotCloud開源的一個容器引擎。Docker 遵從 Apache 2.0 協議,項目代碼在 GitHub 上進行維護。
簡單講,Docker就是一個可以分配資源的進程隔離模型。Docker 項目的目標是實現輕量級的操作系統虛擬化解決方案。
相關術語解釋
SLB做到動態綁定的原理:Swarm監管容器的狀態,如果容器正常運行,則把容器加入到SLB的后端,如果容器發現異常,則把容器從SLB的后端摘下來。
HAProxy實現動態服務發現的原理:HAProxy容器內除了有HAProxy軟件,還有腳本程序監管容器的狀態,根據容器的健康狀況重新生成負載均衡信息,然后重新加載(reload)HAProxy,使得新的負載均衡信息生效。
實現不停服rolling_update原理:平滑升級的關鍵在于每一時刻均有至少一個容器還能正常提供服務。
1)需要部署多個容器,將容器分為A、B兩批更新。
2)更新容器時,先將A批容器的路由從SLB或者HAProxy上面摘下來。
3) 更新A批容器
4)A批容器健康檢查正常后,重新加入路由
5)摘下B批容器的路由
6)更新B批容器。
實現灰度發布原理:不通版本的服務可以共享同一路由信息,通過調整SLB或者HAProxy權重的方式來做到灰度發布。
根據場景提供服務形態
簡單路由服務:基于HAProxy,我們加了一層Wrapper,做到動態發現處于運行狀態的容器,加入到負載均衡中,我們稱之為簡單路由服務(Routing service),其公網IP通過一個SLB對外進行暴露。主要解決如下需求:
7層服務端點對公網暴露,即承接公網訪問集群內使用7層協議的服務的流量。
7層服務端點對內網暴露,即容器集群內的負載均衡和服務發現:如下圖所示,集群內的服務發現利用了Docker自帶的DNS resolver配合了HAProxy的負載均衡和健康檢查。圖中的LB即為簡單路由服務下的HAProxy容器。
1)首先通過Docker自帶的DNSresolver將
我們根據不同的通信形式和協議層提供不同的服務來滿足用戶的需求,例如對應南北通信,如果是使用7層協議的服務,我們推薦用戶使用集群的SLB進行流量轉發,最終的流量會轉發到每個主機的HAProxy容器上面,然后在分發到相應的處理請求的服務上。
網站欄目:詳解Docker負載均衡和服務發現
當前鏈接:http://m.newbst.com/news19/97669.html
成都網站建設公司_創新互聯,為您提供動態網站、云服務器、電子商務、企業網站制作、手機網站建設、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容