假如把Redis伺服器們拉到一個群,看看他們是怎麼工作的?

軒轅之風發表於2020-11-03

我是Redis,一個叫Antirez的男人把我帶到了這個世界上。

那天,Redis基友群裡,許久未見的大白髮來了一條訊息···

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

以後的日子中,我們們哥仨相互配合,日常工作中最多的就是資料同步了

如果主節點有資料寫入、刪除、修改命令,也會把這些命令挨個通知到從節點,我們把這叫做命令傳播。

通過這樣的方式,我們主節點與從節點之間資料就能保持同步了~

有一次,我不小心掉線了~

我們用上了新的資料同步策略,效率高了不少,就算偶爾掉個線,也能很快把缺失的資料給補上。

就這樣過了一段時間···

新添了人手,我們準備大幹一場!

為了及時獲得和更新主從節點的資訊,我們們哨兵每隔十秒鐘就要用INFO命令去問候一下主節點,主節點會告訴我他有哪些從節點

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

如果在設定的時間裡沒有收到回覆,我就知道這傢伙多半是跪了,就該啟動故障轉移了

不過這只是我的主觀意見,光我一個人說了不算,為了防止誤判,我還得去管理員小群裡徵求一下大家的意見:

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

經過一番努力,我終於完成了故障轉移,現在R2是主節點了。

不過沒過多久,R1又回來了:

以上就是我們的日常工作了,通過我們們幾個小夥伴的齊心協力,構成了一個高可用的快取服務,MySQL大哥再也不敢小瞧我們了。

【完】

往期TOP5文章

我是Redis,MySQL大哥被我害慘了!

CPU明明8個核,網路卡為啥拼命折騰一號核?

因為一個跨域請求,我差點丟了飯碗

完了!CPU一味求快出事兒了!

雜湊表哪家強?幾大程式語言吵起來了!

 

 

相關文章