首頁  >  文章  >  資料庫  >  Redis集群為什麼是三個以上

Redis集群為什麼是三個以上

(*-*)浩
(*-*)浩原創
2019-06-17 14:48:545308瀏覽

Redisl集群3個以上是透過增加sentinel節點的個數提高對於故障判斷的準確性,因為領導者選舉需要至少一半加1個節點,奇數個節點可以在滿足該條件的基礎上節省一個節點。

Redis集群為什麼是三個以上

簡單的說:如果有3個節點的sentinel 當一個redis 出現問題的時候, sentinel會馬上進投票選舉,只有選票超過半數才主觀下線喔! ,最後客觀下線, 所以要3個sentinel節點.(推薦學習:Redis視訊教學

哨兵(sentinel)模式是一種特殊的模式,首先Redis提供了哨兵的命令,哨兵是一個獨立的進程,作為進程,它會獨立運作。其原理是哨兵透過發送命令,等待Redis伺服器回應,從而監控運行的多個Redis實例。

這裡的哨兵有兩個作用

#透過發送命令,讓Redis伺服器回傳監控其運作狀態,包括主伺服器和從伺服器。

當哨兵監控到master宕機,會自動將slave切換成master,然後透過發布訂閱模式通知其他的從伺服器,修改設定文件,讓它們切換主機。

然而一個哨兵程序對Redis伺服器進行監控,可能會出現問題,為此,我們可以使用多個哨兵進行監控。各個哨兵之間還會進行監控,這樣就形成了多哨兵模式。

用文字描述故障切換(failover)的過程。

假設主伺服器宕機,哨兵1先偵測到這個結果,系統並不會馬上進行failover過程,只是哨兵1主觀的認為主伺服器不可用,這個現象成為主觀下線。當後面的哨兵也偵測到主伺服器不可用,數量達到一定值時,那麼哨兵之間就會進行一次投票,投票的結果由一個哨兵發起,進行failover操作。切換成功後,就會透過發布訂閱模式,讓各個哨兵把自己監控的從伺服器實作切換主機,這個過程稱為客觀下線。這樣對於客戶端而言,一切都是透明的。

更多Redis相關技術文章,請造訪Redis資料庫使用入門教學欄位學習!

以上是Redis集群為什麼是三個以上的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn