我是Redis,一個叫Antirez的男人把我帶到了這個世界上。編程
那天,Redis基友羣裏,許久未見的大白髮來了一條消息···跨域
因而,大白拉了一個新的羣緩存
之後的日子中,我們哥仨相互配合,平常工做中最多的就是數據同步了markdown
若是主節點有數據寫入、刪除、修改命令,也會把這些命令挨個通知到從節點,咱們把這叫作命令傳播。編程語言
經過這樣的方式,咱們主節點與從節點之間數據就能保持同步了~oop
有一次,我不當心掉線了~spa
咱們用上了新的數據同步策略,效率高了很多,就算偶爾掉個線,也能很快把缺失的數據給補上。3d
就這樣過了一段時間···code
新添了人手,咱們準備大幹一場!orm
爲了及時得到和更新主從節點的信息,我們哨兵每隔十秒鐘就要用INFO命令去問候一下主節點,主節點會告訴我他有哪些從節點
爲了更加及時知道你們是否掉線,我們哨兵每隔一秒都要用PING命令問候一下羣裏的各個小夥伴:
若是在設置的時間裏沒有收到回覆,我就知道這傢伙多半是跪了,就該啓動故障轉移了
不過這只是個人主觀意見,光我一我的說了不算,爲了防止誤判,我還得去管理員小羣裏徵求一下你們的意見:
接下來,我們就開始了第一次選舉。
通過一番努力,我終於完成了故障轉移,如今R2是主節點了。
不過沒過多久,R1又回來了:
以上就是咱們的平常工做了,經過我們幾個小夥伴的齊心合力,構成了一個高可用的緩存服務,MySQL大哥不再敢小瞧咱們了。
【完】