使用哨兵模式时,如何使StackExchange.Redis自动发现新添加的从属节点?

时间:2020-08-06 09:03:48

标签: redis high-availability stackexchange.redis failover redis-sentinel

我们正在测试具有sentinel mode功能的StackExchange.Redis v2.1.58:

如果在连接字符串中指定serviceName,它将触发哨兵模式...发现当前的主服务器...并返回指向该主服务器的托管连接,如果该主服务器发生更改,该连接将自动更新

使用Redis(v5.0.8)HA设置:

  • 172.17.6.45:大师,哨兵
  • 172.17.6.46:奴隶,哨兵
  • 172.17.6.47:仅哨兵

我们测试了以下情况:

  1. 应用程序以哨兵模式连接到Redis,连接字符串为

    172.17.6.45:26379,serviceName=mymaster

  2. 在.47中作为奴隶启动一个新的Redis实例

  3. 触发故障转移到.47中的从属服务器

发生步骤2时,SE.Redis不会重新加载端点信息。当在步骤3中发生连接失败时,我们在日志中打印端点,但它仍仅仅显示.45和.46。步骤#3之后,SE.Redis无法切换到.47中的新主服务器,因为它不在端点列表中。

我想知道如何使SE.Redis在步骤#2中意识到+ slave事件并进行端点重新加载。

更新:

经过某种方式的进一步测试后,我们无法再产生此问题。在遍历SE.Redis代码后,确实在切换主机时进行了端点重载处理。稍后当我们开始将其用于产品开发时,我们将继续关注这种情况。

0 个答案:

没有答案
相关问题