如何将Redis集群中的故障切换通知获取到客户端应用程序

如何将Redis集群中的故障切换通知获取到客户端应用程序,redis,jedis,Redis,Jedis,是否有一种方法可以让客户端获得有关Redis群集中故障切换事件的通知?如果是,哪个客户端库将支持此功能?我目前正在使用Jedis,但可以灵活地切换到任何其他Java客户端。我可以想出两种方法来检查这一点,其中一种方法是在集群上对主节点进行grep,如果其中任何节点的端口发生了更改,则会发生故障切换 $ redis-cli -p {PORT} cluster nodes | grep master 另一种方法是使用ruby脚本,该脚本将开始以输出的形式显示写操作中的错误,您可以根据它来监视和发送

是否有一种方法可以让客户端获得有关Redis群集中故障切换事件的通知?如果是,哪个客户端库将支持此功能?我目前正在使用Jedis,但可以灵活地切换到任何其他Java客户端。

我可以想出两种方法来检查这一点,其中一种方法是在集群上对主节点进行grep,如果其中任何节点的端口发生了更改,则会发生故障切换

$ redis-cli -p {PORT} cluster nodes | grep master

另一种方法是使用ruby脚本,该脚本将开始以输出的形式显示写操作中的错误,您可以根据它来监视和发送通知,因为当读取服务器试图担任其主服务器角色时,就会发生这种情况,但它的健壮性不如解决方案

Sentinel()能够监视集群成员,并在失败时发送发布/订阅通知。该链接包含更深入的说明和教程。

可以使用带群集的Sentinel吗?