您好,登錄后才能下訂單哦!
Redis包含master和slave兩種節(jié)點:master節(jié)點對外提供讀寫服務(wù),slave節(jié)點作為master的數(shù)據(jù)備份,從主節(jié)點全量同步數(shù)據(jù),主從復(fù)制架構(gòu)下,默認Slave是只讀的,如果寫入則會報錯,但可以通過設(shè)置slave-read-only參數(shù)為no改為可寫。
主從復(fù)制是由slave主動觸發(fā),流程如下:
1.首先slave向master發(fā)起sync命令,發(fā)起后,master被動的將新進的slave節(jié)點加入到自己的主備復(fù)制集群。
2.master收到sync后,開啟bgsave操作。
3.bgsave完成后,master將快照信息發(fā)送給slave.
4.發(fā)送期間,master收到的來自用戶客戶單的新的寫命令,除了正常的響應(yīng)之外,都再存入一份到backlog隊列中。
5.快照信息發(fā)送完成后,master繼續(xù)發(fā)送backlog隊列信息。
6.backlog發(fā)送完成后,后續(xù)的寫操作同時發(fā)給slave來保持實時的異步復(fù)制。
slave端處理邏輯如下:
slave發(fā)送完sync后,繼續(xù)對外提供服務(wù)。
開始接收master的快照信息,同時,將slave現(xiàn)有數(shù)據(jù)清空,并將master快照寫入自身內(nèi)存。
接收backlog內(nèi)容并執(zhí)行,期間對外提供讀請求。
繼續(xù)接收后續(xù)來自master的命令副本并繼續(xù)回放,以保持數(shù)據(jù)和master一致。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。