半同步復(fù)制簡介:
默認(rèn)情況下,MySQL 5.5/5.6/5.7和MariaDB 10.0/10.1的復(fù)制功能是異步的,異步復(fù)制可以提供最佳的性能,主庫把Binlog日志發(fā)送給從庫,這一動作就結(jié)束了,并不會驗證從庫是否接收完畢,但這同時也帶來了很高的風(fēng)險,這就意味著當(dāng)主服務(wù)器或從服務(wù)器發(fā)生故障時,有可能從機(jī)沒有接收到主機(jī)發(fā)送過來的Binlog日志,會造成主服務(wù)器/從服務(wù)器的數(shù)據(jù)不一致,甚至在恢復(fù)時會造成數(shù)據(jù)丟失。
為了解決上述問題,MySQL 5.5 引入了一種半同步復(fù)制(Semi Replication)模式,該模式可以確保從服務(wù)器接收完主服務(wù)器發(fā)送的Binlog日志文件并寫入自己的中繼日志(Relay Log)里,然后會給主服務(wù)器一個反饋,告訴對方已經(jīng)接收完畢,這時主庫線程才返回給當(dāng)前session告知操作完成,如下圖所示。當(dāng)出現(xiàn)超時情況時,源主服務(wù)器會暫時切換到異步復(fù)制模式,直到至少有一臺設(shè)置為半同步復(fù)制模式的從服務(wù)器及時收到信息為止(見圖2-140)。
簡言之,半同步復(fù)制在一定程度上可保證提交的事務(wù)已經(jīng)傳給了至少一個備庫,因此,半同步復(fù)制與異步復(fù)制相比,進(jìn)一步提高了數(shù)據(jù)的完整性。
注意 半同步復(fù)制模式必須在主服務(wù)器和從服務(wù)器同時啟用,否則主服務(wù)器默認(rèn)使用異步復(fù)制模式。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。