Redis主從復制

為了提高性能和系統(tǒng)可用,Redis都會做主從復制,一來可以分擔主庫壓力,二來在主庫掛掉的時候從庫依舊可以提供服務。Redis的主從復制是異步復制,返回結果給客戶端和同步命令到從庫是兩回事,互不相干,主庫也不關心從庫的執(zhí)行結果,對于同步命令執(zhí)行的結果,從庫會直接丟棄并不返回給主庫。Redis的主從復制簡單高效,但也不太算可靠。

Redis的主從復制是異步復制;全量同步(或增量同步)+命令傳播

Slave Server

Slave Server啟動初始化配置,根據(jù)slaveof配置設置Slave Server的主庫host(masterhost)和Slave Server的同步狀態(tài)(repl_state),和所有Server一樣監(jiān)聽客戶端鏈接,開啟后臺任務。

后臺定時任務包含,觸發(fā)AOF重寫、RDB快照、redis監(jiān)控、狀態(tài)收集、主從同步相關定時任務等

主從同步后臺定時任務包含,從庫連接主庫、從庫重連主庫、從庫給主庫發(fā)送同步進度、主庫向從庫發(fā)送心跳包、主庫刪除超時從庫、主庫清除同步緩沖區(qū)、主庫刷新從庫狀態(tài)等

 

從庫連接主庫

網(wǎng)友評論