在主從模型中講到html
一旦Master宕機失效,須要手動將Slave角色提高爲Master,不然這個子集羣將不可用。redis
這個缺陷使得系統可用性大大下降。所以Redis專門提供了一個哨兵機制來實現自動故障檢測和轉移。網絡
哨兵(Sentinel)是一種特殊的Redis實例,與Redis存儲實例同樣,哨兵一樣是基於配置的。
你能夠經過如下兩種方式啓動哨兵:code
redis-sentinel /path/to/sentinel.conf redis-server /path/to/sentinel.conf --sentinel
節點監控
如圖(圖中S爲Sentinel,M爲Master,R爲Replication即Slave),Sentinel模型集羣中的每一個Sentinel都在監控着每一個節點,每隔一段時間會向每一個節點發送PING,經過返回的PONG信息確認節點正常。
server
[1]redisLab.[EB/OL]. https://redis.io/topics/sentinel. 2019.01-2019.03.htm