我們在 redis-cli 命令行里通過 info replication 命令可以查詢 redis 的主從配置的信息,如下圖。
其中有個 master_failover_state 主節點故障轉移狀態,這個屬性一直是 no-failover ,一開始我一直以為這個屬性是在暗示我沒有配置 failover 相關的東西,但是一通亂找並沒有發現相關的配置。后來查了查才知道這就是字面義的“狀態”。
按照 redis 官網關於 failover 的信息可知:
info replication 中的 master_failover_state 屬性能夠用於追蹤當前故障轉移(failover)的狀態,這個屬性可以有以下的幾種值:
- no-failover:當前沒有正在協調中的故障轉移。
- waiting-for-sync:主節點正在等待副本來獲取它的副本數據偏移值。
- failover-in-progress:主節點已經降級了,並試圖將所有權移交給目標副本。