【发布时间】:2016-05-25 15:26:49
【问题描述】:
有没有办法让客户端收到有关 Redis 集群中故障转移事件的通知?如果是这样,哪个客户端库会支持这个?我目前正在使用 Jedis,但可以灵活地切换到任何其他 Java 客户端。
【问题讨论】:
有没有办法让客户端收到有关 Redis 集群中故障转移事件的通知?如果是这样,哪个客户端库会支持这个?我目前正在使用 Jedis,但可以灵活地切换到任何其他 Java 客户端。
【问题讨论】:
我可以想到两种方法来检查这一点,其中一种是使用 grep 查找集群上的主节点 keeping in mind their IDs,如果其中任何一个的端口发生更改,则会发生故障转移。
$ redis-cli -p {PORT} cluster nodes | grep master
另一种方法,但它不是一个强大的解决方案是使用consistency checker ruby 脚本,它将开始在写入中显示错误作为输出,您可以根据它监控和发送通知,因为这种情况发生在读取服务器正在尝试扮演其主服务器的角色。
【讨论】:
Sentinel (http://redis.io/topics/sentinel) 能够监控集群成员,并在失败时发送发布/订阅通知。该链接包含更深入的解释和教程。
【讨论】: