狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Mysql為什么不推薦使用Docker部署

admin
2024年11月12日 22:19 本文熱度 400

   docker可以從遠程倉庫拉取鏡像然后通過鏡像快速的部署應用,非常的方便快捷,但是今天來聊聊為什么Mysql不推薦使用Docker部署這個問題。

1、數據庫擴容麻煩

    Mysql是用來存儲的數據,docker部署Mysql之后數據不會存儲在容器上,因為容器關閉之后數據就丟失了,所以容器是需要掛載到宿主機器上,如下圖所示:

    隨著業務的持續不斷的發展,Mysql難免會出現需要擴容的情況,但是擴容的時候就會出現一些困難,如下所示:

    此時Mysql2是無法掛載到文件1上的,因為宿主機的數據文件是容器獨占的,無法實現兩個容器實例共享一份數據文件。

    每個Mysql的容器都掛載了各自的文件上,如何實現文件1和文件2的數據共享呢?此時有如下的解決方案:

方案一:binlog同步

方案二:先全量dump,然后再使用binlog增量同步

    方案一是不推薦使用,Mysql擴容是因為業務數據量達到瓶頸了,那么大數據量下使用binlog同步是不合適的。

    方案二中全量dump數據的時候需要停機,目的是先讓數據同步到另一份文件上,因為數據需要同步進而讓業務在一段時間內無法使用,在某種情況下也是不合適的。


2、內存資源問題

    我們都知道docker是通過應用來做隔離的,而不是通過資源做隔離的,如下圖所示:

    假設Mysql應用、MQ應用以及Redis應用都是docker部署的,此時上圖區域的內存是三個應用共享的。這里就存在一個問題,如果MQ應用占用了80%的內存,那么Mysql和Redis就只能共用剩余20%的內存,假設這個剩余的內存不夠Mysql使用,這個時候就會出現Mysql無法提供正常的服務導致整個上層的應用崩潰。

總結:

(1)從數據庫擴容角度來看,由于宿主機的數據文件是容器獨占的,所以多個容器就會掛載在多個宿主機文件上,盡管我們可以有方案解決宿主機文件數據共享的問題,但是數據同步方案中存在一定弊端。

(2)內存資源上來考慮,由于docker部署的應用是共享內存的,所以一旦某個應用占用內存過大就會導致其他應用因為內存不足而無法對外提供服務的問題。

(3)不是說不能使用docker部署Mysql,在某些情況下docker部署的Mysql還是比較合適的,如能夠利用中間件和容器化系統能夠自動伸縮、容災、切換、自帶多個節點等場景下是合適進行容器化。


該文章在 2024/11/13 14:37:42 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved