redis哨兵模式

redis哨兵模式


哨兵模式

  • 概述

    哨兵模式主要是基於前面用到的主從模式進行改造的,由於主從模式的缺陷,所以哨兵模式彌補了這以缺陷

  • 優點

    • 監控主數據庫和從數據庫是否正常運行
    • 主數據庫出現故障時,可以自動將從數據庫轉換爲主數據庫,實現自動切換
    • 如果redis服務出現問題,會發送通知
  • 缺點

    • 主數據庫出現故障時,選舉切換的時候容易出現瞬間斷線現象
  • 判斷在線情況

    默認情況下,每個 Sentinel 節點會以 每秒一次 的頻率對 Redis 節點和 其它Sentinel 節點發送 PING 命令,並通過節點的 回覆 來判斷節點是否在線。

  • 架構圖
    在這裏插入圖片描述

  • 下線/down

    • 主觀下線
      • 主觀下線 適用於所有 主節點從節點。如果在 down-after-milliseconds 毫秒內,Sentinel 沒有收到 目標節點 的有效回覆,則會判定 該節點主觀下線
      • 只有半數個哨兵節點都主觀判定主節點down掉,此時多個哨兵節點交換主觀判定結果,纔會判定主節點客觀下線。
    • 客觀下線
      • 客觀下線 只適用於 主節點。如果 主節點 出現故障,Sentinel 節點會通過 sentinel is-master-down-by-addr 命令,向其它 Sentinel 節點詢問對該節點的 狀態判斷。如果超過 <quorum> 個數的節點判定 主節點 不可達,則該 Sentinel 節點會判斷 主節點客觀下線
      • 基本上哪個哨兵節點最先判斷出這個主節點客觀下線,就會在各個哨兵節點中發起投票機制,每個哨兵都投自己爲領導者。最終被投爲領導者的哨兵節點完成主從自動化切換的過程。當判斷爲主觀下線時,不會進行主從切換過程。
  • 選舉

    每個發現主服務器進入客觀下線的sentinel都可以要求其他sentinel選自己爲領頭sentinel,選舉是先到先得同時每個sentinel每次選舉都會自增配置紀元,每個紀元中只會選擇一個領頭sentinel。如果所有超過一半的sentinel選舉某sentinel領頭sentinel。之後該sentinel進行故障轉移操作。

  • 環境搭建

    參考 redis哨兵部署

et/zbw18297786698/article/details/52891695)

參考文章:https://juejin.im/post/5b7d226a6fb9a01a1e01ff64

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章