1

考虑以下用于 redis 高可用性解决方案的设置:3 个 VM,每个 VM 运行一个 redis 服务器实例和一个哨兵实例来监控设置。R1(redis on VM1) 被配置为 master,R2并且R3as slaveof R1; S1... S3(哨兵)所有监视器R1的法定人数为 2。所有这些都静态写入相应的虚拟机中redis.conf和上。redis-sentinel.conf

现在考虑VM1(携带R1S1)下降。哨兵选择例如R2新的主人和客户端代码jedis,自动适应新的状态。到目前为止,一切都很好。

VM1当恢复并R1可用S1时究竟会发生什么?

尤其是:

  • 是否会R1加入其余的R2R3再次形成一个 3 节点设置(例如,因为S2S3继续监视它)?
  • 如果是,会R1被选回主人还是继续做奴隶?我应该关心吗?
  • 是否会再次S1加入S2S3形成 3 节点设置?
  • jedis自动适应吗?
4

1 回答 1

1

Sentinel 会将旧的 master 转换为新 master 的 slave,除非发生另一个故障转移,否则不需要任何更改,在这种情况下,这一切都会重复。详细信息在直接回答您的哨兵问题的哨兵文档中。

绝地武士不需要关心老主人作为奴隶重新加入。

于 2015-11-04T15:48:56.290 回答