溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

說MGR - 單獨的通信機制

發(fā)布時間:2020-06-28 10:31:57 來源:網絡 閱讀:469 作者:coveringindex 欄目:MySQL數據庫

雖然MGR會使用Slave的通道,但只是使用這個通道的執(zhí)行線程(Applier Thread)來執(zhí)行Binlog Event,并沒有使用這個通道來傳輸Binlog Event。MGR沒有使用異步復制的Binlog Event傳輸機制,也不使用MySQL的服務端口來進行通信。MGR創(chuàng)建了一個獨立的TCP端口來進行通信,各個MySQL服務器上的Group Replication插件通過這個端口連接在一起,兩兩之間可以直接通信。


Binlog Event的傳輸并不像異步復制那樣是簡單的點到點之間的傳輸。MGR在傳輸數據時,使用了Paxos協議。Paxos協議保證了數據傳輸的一致性和原子性。MGR基于Paxos協議構建了一個分布式的狀態(tài)機復制機制,這是實現多主復制的核心技術。這個技術為MGR帶來了3個主要優(yōu)點,分別如下。


1.MGR中不會出現腦裂的現象(但要注意可能出現網絡分區(qū)的情況,MGR根據參數group_replication_unreachable_majority_timeout=0/N設置的不同,行為稍有不同)。


2.MGR的冗余能力很好,能夠保證Binlog Event至少被復制到超過一半的成員上,只要同時宕機的成員不超過半數便不會導致數據丟失。


3.MGR還保證只要Binlog Event沒有被傳輸到半數以上的成員,本地成員不會將事務的Binlog Event寫入Binlog文件和提交事務,從而保證宕機的服務器上不會有組內在線成員上不存在的數據。因此,宕機的服務器重啟后,不再需要特殊的處理就可以加入組。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI