您好,登錄后才能下訂單哦!
半同步復制簡介:
默認情況下,MySQL 5.5/5.6/5.7和MariaDB 10.0/10.1的復制功能是異步的,異步復制可以提供最佳的性能,主庫把Binlog日志發送給從庫,這一動作就結束了,并不會驗證從庫是否接收完畢,但這同時也帶來了很高的風險,這就意味著當主服務器或從服務器發生故障時,有可能從機沒有接收到主機發送過來的Binlog日志,會造成主服務器/從服務器的數據不一致,甚至在恢復時會造成數據丟失。
為了解決上述問題,MySQL 5.5 引入了一種半同步復制(Semi Replication)模式,該模式可以確保從服務器接收完主服務器發送的Binlog日志文件并寫入自己的中繼日志(Relay Log)里,然后會給主服務器一個反饋,告訴對方已經接收完畢,這時主庫線程才返回給當前session告知操作完成,如下圖所示。當出現超時情況時,源主服務器會暫時切換到異步復制模式,直到至少有一臺設置為半同步復制模式的從服務器及時收到信息為止(見圖2-140)。
簡言之,半同步復制在一定程度上可保證提交的事務已經傳給了至少一個備庫,因此,半同步復制與異步復制相比,進一步提高了數據的完整性。
注意 半同步復制模式必須在主服務器和從服務器同時啟用,否則主服務器默認使用異步復制模式。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。