那天,我被拉入一個Redis群聊···
我是Redis,一個叫Antirez的男人把我?guī)У搅诉@個世界上。
那天,Redis基友群里,許久未見的大白發(fā)來了一條消息···


于是,大白拉了一個新的群

以后的日子中,咱們哥仨相互配合,日常工作中最多的就是數(shù)據(jù)同步了

如果主節(jié)點(diǎn)有數(shù)據(jù)寫入、刪除、修改命令,也會把這些命令挨個通知到從節(jié)點(diǎn),我們把這叫做命令傳播。

通過這樣的方式,我們主節(jié)點(diǎn)與從節(jié)點(diǎn)之間數(shù)據(jù)就能保持同步了~
有一次,我不小心掉線了~



我們用上了新的數(shù)據(jù)同步策略,效率高了不少,就算偶爾掉個線,也能很快把缺失的數(shù)據(jù)給補(bǔ)上。
就這樣過了一段時間···


新添了人手,我們準(zhǔn)備大干一場!
為了及時獲得和更新主從節(jié)點(diǎn)的信息,咱們哨兵每隔十秒鐘就要用INFO命令去問候一下主節(jié)點(diǎn),主節(jié)點(diǎn)會告訴我他有哪些從節(jié)點(diǎn)

為了更加及時知道大家是否掉線,咱們哨兵每隔一秒都要用PING命令問候一下群里的各個小伙伴:


如果在設(shè)置的時間里沒有收到回復(fù),我就知道這家伙多半是跪了,就該啟動故障轉(zhuǎn)移了
不過這只是我的主觀意見,光我一個人說了不算,為了防止誤判,我還得去管理員小群里征求一下大家的意見:




接下來,咱們就開始了第一次選舉。



經(jīng)過一番努力,我終于完成了故障轉(zhuǎn)移,現(xiàn)在R2是主節(jié)點(diǎn)了。
不過沒過多久,R1又回來了:

以上就是我們的日常工作了,通過咱們幾個小伙伴的齊心協(xié)力,構(gòu)成了一個高可用的緩存服務(wù),MySQL大哥再也不敢小瞧我們了。

有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號
好文章,我在看??
