文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
手冊頁 (TGZ) - 258.5Kb
手冊頁 (Zip) - 365.5Kb
資訊 (Gzip) - 4.0Mb
資訊 (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  群組複寫使用案例

20.1.2 群組複寫使用案例

群組複寫可讓您藉由將系統狀態複寫到一組伺服器,來建立具有備援的容錯系統。即使部分伺服器後續發生故障,只要不是全部或大多數,系統仍然可用。視故障伺服器的數量而定,群組的效能或可擴展性可能會降低,但仍然可用。伺服器故障是獨立且各自隔離的。群組成員服務會追蹤這些故障,該服務依賴分散式故障偵測器,該偵測器能夠在任何伺服器離開群組時發出訊號,無論是自願離開或因意外停止而離開。有一種分散式復原程序,可確保伺服器在加入群組時,會自動更新到最新狀態。不需要伺服器容錯移轉,而且多來源到處更新的特性可確保即使在單一伺服器故障的情況下,更新也不會遭到封鎖。總而言之,MySQL 群組複寫保證資料庫服務持續可用。

務必瞭解,雖然資料庫服務可用,但在發生意外伺服器退出事件時,連線到它的那些用戶端必須重新導向,或容錯移轉到不同的伺服器。這並非群組複寫嘗試解決的問題。連線器、負載平衡器、路由器或某種形式的中介軟體更適合處理這個問題。例如,請參閱 MySQL Router 8.4

總而言之,MySQL 群組複寫提供高度可用、高度彈性、可靠的 MySQL 服務。

提示

若要部署 MySQL 的多個執行個體,您可以使用 InnoDB 叢集,讓您可以在 MySQL Shell 中輕鬆管理一組 MySQL 伺服器執行個體。InnoDB 叢集會在程式化環境中封裝 MySQL 群組複寫,讓您能夠輕鬆部署 MySQL 執行個體叢集,以實現高可用性。此外,InnoDB 叢集會與 MySQL Router 無縫介接,讓您的應用程式能夠連線到叢集,而無需撰寫自己的容錯移轉程序。不過,對於不需要高可用性的類似使用案例,您可以使用 InnoDB ReplicaSet。MySQL Shell 的安裝指示可以在這裡找到。

使用案例範例

以下範例是群組複寫的典型使用案例。

  • 彈性複寫 - 需要非常流暢的複寫基礎架構的環境,其中伺服器的數量必須動態成長或縮減,且盡可能減少副作用。例如,雲端的資料庫服務。

  • 高度可用分片 - 分片是一種廣泛使用的擴充寫入方法。使用 MySQL 群組複寫實作高度可用的分片,其中每個分片對應到一個複寫群組。

  • 非同步來源-複本複寫的替代方案 - 在某些情況下,使用單一來源伺服器會使其成為單一爭用點。在某些情況下,寫入整個群組可能會更具可擴展性。

  • 自主系統 - 此外,您可以單純為複寫協定中內建的自動化 (已在本章和前幾章中說明) 部署 MySQL 群組複寫。