考虑以下用于 redis 高可用性解决方案的设置:3 个 VM,每个 VM 运行一个 redis 服务器实例和一个哨兵实例来监控设置。R1(redis on VM1) 被配置为 master,R2并且R3as slaveof R1; S1... S3(哨兵)所有监视器R1的法定人数为 2。所有这些都静态写入相应的虚拟机中redis.conf和上。redis-sentinel.conf
现在考虑VM1(携带R1和S1)下降。哨兵选择例如R2新的主人和客户端代码jedis,自动适应新的状态。到目前为止,一切都很好。
VM1当恢复并R1可用S1时究竟会发生什么?
尤其是:
- 是否会
R1加入其余的R2并R3再次形成一个 3 节点设置(例如,因为S2并S3继续监视它)? - 如果是,会
R1被选回主人还是继续做奴隶?我应该关心吗? - 是否会再次
S1加入S2并S3形成 3 节点设置? - 会
jedis自动适应吗?