【问题标题】:How to use sentinel to know you have gone offline?如何使用 sentinel 知道您已下线?
【发布时间】:2021-04-21 19:47:34
【问题描述】:

我有一个配置有 5 个节点的 redis 哨兵集群,其 IP 地址如下:

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5

我希望找到一种简单的方法来确定是否有任何服务器从其自身的角度离线。

在服务器 192.168.1.1 我通过以下方式跟踪哨兵日志文件: tail -f /var/log/redis/sentinel-6379.log

我从 192.168.1.1 服务器拔网线,我在服务器 192.168.1.1 的日志文件中看到以下消息:

1567:X 21 Apr 2021 15:56:31.189 # +sdown master mymaster 192.168.1.2 6379

1567:X 21 Apr 2021 15:57:09.273 # +sdown slave 192.168.1.3:6379 192.168.1.3 6379 @ mymaster 192.168.1.2 6379
1567:X 21 Apr 2021 15:57:09.273 # +sdown slave 192.168.1.4:6379 192.168.1.4 6379 @ mymaster 192.168.1.2 6379
1567:X 21 Apr 2021 15:57:09.273 # +sdown slave 192.168.1.5:6379 192.168.1.5 6379 @ mymaster 192.168.1.2 6379

1567:X 21 Apr 2021 15:57:09.214 # +sdown sentinel 88c16ee0855100cf25919c9113e97e83290965b0 192.168.1.2 26379 @ mymaster 192.168.1.2 6379
1567:X 21 Apr 2021 15:57:09.273 # +sdown sentinel 97d7e4885a56a90144bd312f395e1d96788f1ebe 192.168.1.3 26379 @ mymaster 192.168.1.2 6379
1567:X 21 Apr 2021 15:57:09.273 # +sdown sentinel f61240ca198c318e156a7d87f382728316b22a8e 192.168.1.4 26379 @ mymaster 192.168.1.2 6379
1567:X 21 Apr 2021 15:57:09.273 # +sdown sentinel f8c43aa0ffe4141ee5b09c1c78d253ae04e0d8bb 192.168.1.5 26379 @ mymaster 192.168.1.2 6379

我还在我的 python 项目中使用 redis-py https://pypi.org/project/redis/ 来订阅上述 +sdown 消息,如下所示:

    r = redis.Redis(host='localhost', port=26379, username='myusername', password='mypassword')
    p = r.pubsub()
    p.psubscribe('+sdown')
    p.psubscribe('-sdown')
    p.psubscribe('+switch-master')
    p.subscribe('+sentinel')

    while True:
        message = p.get_message()
        if message:
            print(message) 

我的问题是如何使用这些消息来确定我的服务器已离线,就像拔出网络电缆时一样?

例如,我是否只是确定我的所有 +sdowns 都是在完全相同的时间收到的? 还有其他更好的方法吗?

【问题讨论】:

    标签: python-3.x redis sentinel redis-sentinel redis-py


    【解决方案1】:

    我理解您的问题,因为您只想与哨兵交谈,而不是与本地主机或副本交谈。

    我想你可以按照你的建议去做。 但是,我认为每次收到+sdown 事件并检查其结果时,简单地执行SENTINEL MASTERS 命令会容易得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 2020-12-04
      相关资源
      最近更新 更多