Redis的哨兵(sentinel)(概念)
阿新 • • 發佈:2018-05-26
redis哨兵 redis-sentinel
Redis的哨兵(sentinel)
redis的sentinel系統用於管理多個redis服務器實例(instance)。
哨兵適用於非集群結構的redis環境,比如:redis主從環境。
在redis集群中,節點擔當了哨兵的功能,所以redis集群不需要考慮sentinel。
sentinel主要功能:
1、監控(monitoring)
sentinel會不斷的檢查master和slave運行狀態是否正常。
2、提醒(notification)
當監控發現問題時,sentinel會通過API向管理員發送通知。
3、自動故障遷移(automatic failover)
當一個master不能正常工作時,sentinel會進行自動故障遷移操作,
它會將slave提升為master,並讓其他slave改為復制新的master。
當客戶端訪問故障的master時,也會向客戶端返回新的master地址。
主觀認為宕機:(初步判斷宕機)
每個哨兵會向其他sentinel、master、slave定時發送消息,確認對方是否存活,
如果發現對方在指定時間內未響應,則暫時認為對方宕機。(主觀認為宕機)
客觀認為宕機:(確認宕機)
若哨兵群中的多數sentinel都報告某一master未響應,則確認該master宕機。(客觀宕機)
通過vote算法,在其他salve節點中,選舉一臺提升為master,並自動修改配置。
Redis的哨兵(sentinel)(概念)