如果来自初始连接的群集节点死亡,则可以继续工作



使用ioredis(https://github.com/luin/ioredis)连接到redis群集时,您只需要指定一个节点,例如。使用三个节点簇

127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002

您可以简单地连接:

new Redis.Cluster([{
  port: 7000,
  host: '127.0.0.1'
}])

如果:7000节点死亡,然后用不同的节点代替它,做类似:

redis-trib.rb call 127.0.0.1:7001 cluster forget [node_id of :7000]
redis-trib.rb add-node 127.0.0.1:7003 127.0.0.1:7001
redis-trib.rb fix 127.0.0.1:7001

iOredis能够继续工作(接受:7000的数据丢失),它是否需要再次联系127.0.0.1:7000,或者仅适用于初始连接?

从我的实验中看来,这种情况确实有效,我的问题的答案是肯定的,但是我想检查一下这是预期的和支持的情况。

连接到群集时,ioredis会向群集的节点列表询问:7000,之后,Ioredis能够发现新节点并处理故障转移。因此,答案是YES是:7000 DIES 被获取节点列表。

相关内容

  • 没有找到相关文章

最新更新