MySQL Cluster - ProxySQL+ Percona XtraDB Cluster 建置 (3 nodes)
Master Master 多節點 MySQL 資料庫叢集
Percona XtraDB Cluster
Percona XtraDB Cluster是MySQL的完全開源高可用性解決方案。它將Percona Server和Percona XtraBackup與Galera庫集成在一起,以實現同步多主複製。
群集由節點組成,其中每個節點都包含跨節點同步的同一組數據。推薦的配置是至少有3個節點,但是您也可以有2個節點。每個節點都是常規的MySQL Server實例(例如,Percona Server)。您可以將現有的MySQL Server實例轉換為節點,然後以該節點為基礎運行集群。您還可以從群集中分離任何節點,並將其用作常規MySQL Server實例。
好處
- 執行查詢時,它在節點上本地執行。所有數據都在本地可用,無需遠程訪問。
- 沒有中央管理。您可以在任何時間點鬆開任何節點,群集將繼續運行而不會丟失任何數據。
- 擴展讀取工作負載的好解決方案。您可以對任何節點進行讀取查詢。
缺點
- 設置新節點的開銷。添加新節點時,它必須從一個現有節點中復製完整的數據集。如果是100 GB,則會復制100 GB。
- 這不能用作有效的寫擴展解決方案。當您將寫入流量運行到2個節點而不是將所有流量運行到1個節點時,寫入吞吐量可能會有所提高,但是期望不高。所有寫入仍必須在所有節點上進行。
- 您有幾個數據重複項:對於3個節點,您有3個重複項。
ProxySQL 特色
- 通過零供應商鎖定,ProxySQL可確保您的應用程序完全符合MySQL的要求,從而確保將其簡單乾淨地集成到您的環境中。
- 直接在您的應用程序服務器上部署ProxySQL,作為中間代理服務器,或者通過級聯ProxySQL結合兩種方法作部署。
- 將寫入路由到主服務器,在副本服務器之間分發讀取,並使用高級查詢規則定義特定的路由條件。
- ProxySQL的連接復用功能通過將多個前端連接請求發送到單個後端連接來智能地減少連接使用量。