Mysql
為 percona Xtra 數據庫集群設置災難恢復設置的最佳方法是什麼?
我們在一個國家確實有一個 Percona XtraDB 集群(Master-Master-Master)設置。現在我們想在其他國家/地區設置災難恢復設置。請為我們提供最好的方法來做到這一點。
PXC(作為Master)和Mysql社區版(作為Slave)是否可以連結?或者我們可以只向 PXC 本身添加一個節點,作為該集群中的從屬節點嗎?
Percona 版本:5.6
在最新的 Percona XtraDB 集群版本中,可以製作 WAN 段,以便在節點之間進行更有效的通信。如果你不這樣做,所有節點都會嘗試複製到所有節點,這對於 Galera 來說效率非常低。使用 Galera 3/PXC 5.6,您可以建立這些,以便一次只有一個節點將復製到其他段。這是專門考慮到地理冗餘的。
5.6 之前:
--------------- / / \ \ A --- B --- D --- E (A, B, C Local nodes; D,E Remote nodes; all talk to all) \ / / / C ------------
5.6 之後(Galera 3):
[ A --- B ] --- [ D --- E ] (no redundant communication between segments) [ \ / ] [ C ]
無論如何,認為往返時間會限制每個事務的最小延遲,這意味著使用地理複製會使集群慢得多。
您可以設置的另一個選項是結合 Galera 和標準複製,如下所示:
A --- B ~~~ D --- E (--- : Galera replication; ~~~: MySQL replication ) \ / C
標準 MySQL 複製效率更高,因為它不等待“從屬”確認更改(它不使用組通信)。**缺點很明顯:由於是非同步的,它不能保證絕對所有應用於主集群的更改都已傳輸到從節點或節點。**如果複製管理得當,那應該只意味著少於 1 秒的事務,但這對於銀行應用程序或其他即使整個數據中心發生故障也不可能失去資訊的應用程序來說肯定是不行的。不管是誰,這是大多數 Web 應用程序和服務都可以處理的。在消極方面,標準複製有一些缺點,特別是如果它沒有得到很好的管理,比如潛在的數據漂移或由於它是單執行緒的額外延遲。