哨兵架構相關基礎知識
哨兵介紹
sentinal(哨兵),哨兵是redis集群架構中非常重要的乙個元件,主要功能如下:
哨兵本身也是分布式的,作為乙個哨兵集群去執行,互相協同工作。故障發生轉移時,判斷乙個master node是宕機了,需要大部分的哨兵同意才行,涉及到了分布式選舉的問題;即使部分哨兵節點掛掉了,哨兵集群還是能正常工作的,非單點。
哨兵核心知識
為什麼redis哨兵集群只有2個節點無法正常工作?
哨兵集群必須部署2個以上節點。如果哨兵集群僅僅部署了2個哨兵例項,quorum=1
master宕機,s1和s2只要有1個哨兵認為master宕機就可以進行切換,同時s1和s2中會選舉出1個哨兵來執行故障轉移。
同時這個時候需要majority,也就是大多數哨兵都是執行的,2個哨兵的majority就是2(2的majority=2,3的majority=2,4的majority=2,5的majority=3),2個哨兵都執行著,就可以允許執行故障轉移。
但是如果m1和s1執行的機器宕機了,那麼哨兵只有1個了,此時就沒有majority來允許執行故障轉移,雖然另外一台機器還有乙個r1,但是故障轉移不會執行。
經典3節點哨兵集群
如果m1所在機器宕機了,那麼三個哨兵還剩下2個,s2和s3可以一致認為master宕機,然後選舉出乙個來執行故障轉移,同時3個哨兵的majority是2,所以還剩下的2個哨兵執行著就可以允許執行故障轉移。
Redis高可用架構
官網 解壓 tar zxvf redis 5.0.5.tar.gz 切換目錄 cd redis 3.2.9,執行編譯命令 make 切換到 redis 3.2.9 src 目錄執行命令 vim redis.conf protected mode no bind 127.0.0.1 daemonize...
Redis運維篇 Redis高可用之哨兵模式
redis主從複製模式下,一旦主節點發生故障,需要人工干預進行故障轉移,故障轉移的實時性與準確性都無法保障。redis2.6版本以上提供了redis sentinel 哨兵 來自動發現和轉移故障,實現高可用 啟動多個redis例項 redis搭建主從複製 包含乙個主結點,兩個從結點,三個sentin...
redis 高可用切換 Redis高可用使用方法二
redis高可用使用方法一 redis高可用使用方法三 之前是主從模式下,但如果考慮到主從切換時,對於開發者來說需要更換配置檔案,是乙個不明智的選擇 而官方提供了哨兵模式 當然在官方不提供的前提下方式是有多種解決的 dns,四層等 一 哨兵的配置 cd redis 4.0.12 切換到之前解壓的目錄...