我想獲得所有正在監視redis主控的哨兵列表。獲取redis主控哨兵
我知道,如果我有一個哨兵,我可以使用sentinel sentinels mymaster
,但如果我沒有任何哨兵的地址,我怎麼能得到它們?
我想獲得所有正在監視redis主控的哨兵列表。獲取redis主控哨兵
我知道,如果我有一個哨兵,我可以使用sentinel sentinels mymaster
,但如果我沒有任何哨兵的地址,我怎麼能得到它們?
沒有直接的命令從主/從節點獲取哨兵列表。要獲得哨兵列表,您需要訂閱任何節點的pub/sub(主控或從屬無關緊要)「__sentinel __:hello」頻道並等待消息。通過該hello頻道的消息來自正在監聽該羣集的哨兵。如果你解析這些,你會得到哨兵的地址。消息格式爲:「sentinel_ip,sentinel_port,sentinel_runid,sentinel_current_epoch,master_name,master_ip,master_port,master_config_epoch」(例如127.0.0.1,26380,07fabf3cbac43bcc955588b1023f95498b58f8f2,16,mymaster,127.0.0.1,6381,16)。請參閱:https://redis.io/topics/sentinel#sentinels-and-slaves-auto-discovery關於哨兵細節。如果你需要更多的瞭解哨兵是如何工作的,那麼看看https://github.com/antirez/redis/blob/unstable/src/server.c
到目前爲止,我希望有更優雅的東西,但我想現在要做的就是這樣。 謝謝! –