Mysql
具有自動故障轉移功能的 MySQL HA
MySQL 有很多不同的高可用解決方案,我想知道所有目前實現之間有什麼區別,以下是目前看起來是最新的實現:
- MySQL 組複製(由 Oracle 提供)
- MySQL NDB 集群(由 Oracle 提供)
- Galera 集群(由 Galera 提供)
- XtraDB 集群(由 Percona 提供)
- MySQL Fabric 集群(由 Oracle 提供)
- MySQL Orchestrator(由 Github 提供)
對於具有自動故障轉移的高可用性設置,推薦的選項(或任何其他選項)是什麼?(對於具有同步複製的 SQL Server 數據庫鏡像等價物)
Galera == PXC == MariaDB w/Galera – 這些幾乎相同。對於 HA,您需要在 3 個數據中心中的每一個中擁有 1 個(或更多)節點。(想想地震、龍捲風、洪水,甚至數據中心中斷——這些確實會發生。)
Oracle 的組複製是相當新的,但有很多希望。
Oracle 的“Fabric”可能正在被拋棄。(可能是因為難以解決的單點故障。)
Orchestrator 非常擅長對大量(甚至數百個)從屬伺服器的任意樹(想想中繼伺服器)進行故障轉移。 不確定主故障轉移。 (參見 Booking.com 的講座。)
MHA 很不錯——但是當它發現“腦裂”的情況時,它需要人工干預。
NDB Cluster 在其“引擎”中有許多不同的東西。也就是說,它不是 InnoDB 的“直接”替代品,其餘的都支持。一方面,它採用“最終一致性”,您需要指定如何解決衝突。
我認為基於 Galera 的解決方案以及組複製是唯一能夠在故障伺服器恢復時自動修復它的解決方案。(我在這裡可能是錯的。)
我今天的偏好:Percona 的 PXC 或帶有 Galera 的 MariaDB——每個都內置並支持 Galera。但我一直關注 Group Replication。