Redis:哨兵模式(Sentinel)原理
生活随笔
收集整理的這篇文章主要介紹了
Redis:哨兵模式(Sentinel)原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 前言
Redis主從復制模式不具備自動容錯和恢復功能,主機從機的宕機都會導致前端部分讀寫請求失敗,需要等待機器重啟或者手動切換前端的IP才能恢復。Redis哨兵模式就解決了Redis主從復制模式不具備容錯和恢復的功能問題。Sentinel(哨兵)進程是用于監控redis集群中Master主服務器工作的狀態,在Master主服務器發生故障的時候,可以實現Master和Slave服務器的切換,保證系統的高可用。
2. Redis哨兵模式
哨兵模式是一種特殊的模式,首先Redis提供了哨兵的命令,哨兵是一個獨立的進程,作為進程,它會獨立運行。其原理是哨兵通過發送命令,等待Redis服務器響應,從而監控運行的多個Redis實例
2.1 Sentinel(哨兵)進程的作用
- 監控(Monitoring): 哨兵(sentinel) 會不斷地檢查你的Master和Slave是否運作正常。
- 提醒(Notification):當被監控的某個Redis節點出現問題時, 哨兵(sentinel) 可以通過 API 向管理員或者其他應用程序發送通知。
- 自動故障遷移(Automatic failover):當一個Master不能正常工作時,哨兵(sentinel) 會開始一次自動故障遷移操作,它會將失效Master的其中一個Slave升級為新的Master, 并讓失效Master的其他Slave改為復制新的Master;當客戶端試圖連接失效的Master時,集群也會向客戶端返回新Master的地址,使得集群可以使用現在的Master替換失效Master。Master和Slave服務器切換后,Master的redis.conf、Slave的redis.conf和sentinel.conf的配置文件的內容都會發生相應的改變,即,Master主服務器的redis.conf配置文件中會多一行slaveof的配置,sentinel.conf的監控目標會隨之調換。
2.2 Sentinel(哨兵)進程的工作方式
3. Redis 哨兵的優點和缺點
3.1 優點
- 哨兵集群模式是基于主從模式的,所有主從的優點,哨兵模式同樣具有。
- 主從可以切換,故障可以轉移,系統可用性更好。
- 哨兵模式是主從模式的升級,系統更健壯,可用性更高。
3.2 缺點
- Redis較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜。為避免這一問題,運維人員在系統上線時必須確保有足夠的空間,這對資源造成了很大的浪費。
- 配置復雜
總結
以上是生活随笔為你收集整理的Redis:哨兵模式(Sentinel)原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis:主从复制原理
- 下一篇: Redis:Redis集群模式(Clus