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


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

那天,Redis基友群里,許久未見的大白發來了一條消息···

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

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

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

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

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

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

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

新添了人手,我們准備大干一場!

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

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

如果在設置的時間里沒有收到回復,我就知道這家伙多半是跪了,就該啟動故障轉移了

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

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

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

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

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

【完】

往期TOP5文章

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

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

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

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

哈希表哪家強?幾大編程語言吵起來了!

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM