溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis Sentinel是什么

發(fā)布時間:2020-10-29 14:36:39 來源:億速云 閱讀:133 作者:小新 欄目:關系型數(shù)據(jù)庫

這篇文章主要介紹 Redis Sentinel是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Redis Sentinel簡介

Sentinel(哨兵)進程是用于監(jiān)控redis集群中Master主服務器工作的狀態(tài),在Master主服務器發(fā)生故障的時候,可以實現(xiàn)Master和Slave服務器的切換,保證系統(tǒng)的高可用,其已經(jīng)被集成在redis2.6+的版本中,Redis的哨兵模式到了2.8版本之后就穩(wěn)定了下來。一般在生產(chǎn)環(huán)境也建議使用Redis的2.8版本的以后版本。哨兵(Sentinel) 是一個分布式系統(tǒng),你可以在一個架構中運行多個哨兵(sentinel) 進程,這些進程使用流言協(xié)議(gossipprotocols)來接收關于Master主服務器是否下線的信息,并使用投票協(xié)議(Agreement Protocols)來決定是否執(zhí)行自動故障遷移,以及選擇哪個Slave作為新的Master。每個哨兵(Sentinel)進程會向其它哨兵(Sentinel)、Master、Slave定時發(fā)送消息,以確認對方是否”活”著,如果發(fā)現(xiàn)對方在指定配置時間(可配置的)內(nèi)未得到回應,則暫時認為對方已掉線,也就是所謂的”主觀認為宕機” ,英文名稱:Subjective Down,簡稱SDOWN。有主觀宕機,肯定就有客觀宕機。當“哨兵群”中的多數(shù)Sentinel進程在對Master主服務器做出 SDOWN 的判斷,并且通過 SENTINEL is-master-down-by-addr 命令互相交流之后,得出的Master Server下線判斷,這種方式就是“客觀宕機”,英文名稱是:Objectively Down, 簡稱 ODOWN。通過一定的vote算法,從剩下的slave從服務器節(jié)點中,選一臺提升為Master服務器節(jié)點,然后自動修改相關配置,并開啟故障轉(zhuǎn)移(failover)。

哨兵(sentinel) 雖然有一個單獨的可執(zhí)行文件 redis-sentinel ,但實際上它只是一個運行在特殊模式下的 Redis 服務器,你可以在啟動一個普通 Redis 服務器時通過給定 --sentinel 選項來啟動哨兵(sentinel),哨兵(sentinel) 的一些設計思路和zookeeper非常類似。

Sentinel集群之間會互相通信,溝通交流redis節(jié)點的狀態(tài),做出相應的判斷并進行處理,這里的主觀下線狀態(tài)和客觀下線狀態(tài)是比較重要的狀態(tài),它們決定了是否進行故障轉(zhuǎn)移,可以 通過訂閱指定的頻道信息,當服務器出現(xiàn)故障得時候通知管理員,客戶端可以將 Sentinel 看作是一個只提供了訂閱功能的 Redis 服務器,你不可以使用 PUBLISH 命令向這個服務器發(fā)送信息,但你可以用 SUBSCRIBE 命令或者 PSUBSCRIBE 命令, 通過訂閱給定的頻道來獲取相應的事件提醒。一個頻道能夠接收和這個頻道的名字相同的事件。 比如說, 名為 +sdown 的頻道就可以接收所有實例進入主觀下線(SDOWN)狀態(tài)的事件。

Sentinel(哨兵)進程的作用:

1、監(jiān)控(Monitoring): 哨兵(sentinel) 會不斷地檢查你的Master和Slave是否運作正常。

2、提醒(Notification):當被監(jiān)控的某個Redis節(jié)點出現(xiàn)問題時, 哨兵(sentinel) 可以通過 API 向管理員或者其他應用程序發(fā)送通知。

3、自動故障遷移(Automatic failover):當一個Master不能正常工作時,哨兵(sentinel) 會開始一次自動故障遷移操作,它會將失效Master的其中一個Slave升級為新的Master, 并讓失效Master的其他Slave改為復制新的Master;當客戶端試圖連接失效的Master時,集群也會向客戶端返回新Master的地址,使得集群可以使用現(xiàn)在的Master替換失效Master。Master和Slave服務器切換后,Master的redis.conf、Slave的redis.conf和sentinel.conf的配置文件的內(nèi)容都會發(fā)生相應的改變,即,Master主服務器的redis.conf配置文件中會多一行slaveof的配置,sentinel.conf的監(jiān)控目標會隨之調(diào)換

以上是 Redis Sentinel是什么的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI