1. 程式人生 > >Redis的哨兵(sentinel)(概念)

Redis的哨兵(sentinel)(概念)

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)(概念)