Redis Sentinel實現原理
Sentinel叢集對自身和Redis主從複製進行監控。當發現Master節點出現故障時,會經過如下步驟:
1)Sentinel之間進行選舉,選舉出一個leader,由選舉出的leader進行failover
2)Sentinel leader選取slave節點中的一個slave作為新的Master節點。對slave選舉需要對slave進行選舉的方法如下:
a) 與master斷開時間
如果與master斷開的時間超過down-after-milliseconds(sentinel配置) * 10秒加上從sentinel判定master不可用到sentinel開始執行故障轉移之間的時間,就認為該slave不適合提升為master。
b) slave優先順序
每個slave都有優先順序,儲存在redis.conf配置檔案裡。如果優先順序相同,則繼續進行。
c) 複製偏移位置
複製偏移紀錄著從master複製資料複製到哪裡,複製偏移越大表明從master接受的資料越多,如果複製偏移量也一樣,繼續進行選舉
d) Run ID
選舉具有最小Run ID的Slave作為新的Master
流程圖如下:
3) Sentinel leader會在上一步選舉的新master上執行slaveof no one操作,將其提升為master節點
4)Sentinel leader向其它slave傳送命令,讓剩餘的slave成為新的master節點的slave
5)Sentinel leader會讓原來的master降級為slave,當恢復正常工作,Sentinel leader會傳送命令讓其從新的master進行復制
以上failover操作均有sentinel自己獨自完成,完全無需人工干預。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2739079/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Redis Sentinel-深入淺出原理和實戰Redis
- Redis Sentinel哨兵模式原理及配置Redis模式
- Redis | 第12章 Sentinel 哨兵模式《Redis設計與實現》Redis模式
- Sentinel 原理-實體類
- Redis分散式實現原理Redis分散式
- Redis——SentinelRedis
- docker搭建redis叢集和Sentinel,實現故障轉移DockerRedis
- Redis GEO & 實現原理深度分析Redis
- Redis哨兵sentinelRedis
- Redis sentinel搭建Redis
- Redis核心原理與實踐--列表實現原理之ziplistRedis
- 原始碼分析 Alibaba sentinel 滑動視窗實現原理(文末附原理圖)原始碼
- redis的有序集的實現原理Redis
- Redis高可用 SentinelRedis
- 【Redis】Sentinel 哨兵模式Redis模式
- Redis過期策略及實現原理-Redis面試題Redis面試題
- Redis核心原理與實踐--列表實現原理之quicklist結構RedisUI
- Redis分散式鎖的原理和實現Redis分散式
- Redis、Zookeeper實現分散式鎖——原理與實踐Redis分散式
- Sentinel 原理-全解析
- Sentinel 原理-呼叫鏈
- Sentinel原理一覽
- redis sentinel配置啟動Redis
- redis sentinel哨兵 例項Redis
- Redis Sentinel哨兵模式部署Redis模式
- 聊聊Redis sentinel 機制Redis
- Redis 哨兵高可用(Sentinel)Redis
- Redis分散式鎖的使用與實現原理Redis分散式
- 用 docker 學習 redis 主從複製3.2 redis-sentinel「哨兵模式」核心配置-命令-原理DockerRedis模式
- Redis sentinel主從切換Redis
- Sentinel 原理-滑動視窗
- Redis的五大資料型別實現原理Redis大資料資料型別
- 玩轉Redis叢集之SentinelRedis
- 分散式Redis深度歷險-Sentinel分散式Redis
- redis的sentinel模式故障演練Redis模式
- Redis服務之高可用元件sentinelRedis元件
- Sentinel實現限流,竟是如此的簡單!
- 六、Alibaba sentinel之限流原理分析