【发布时间】:2016-02-04 06:48:44
【问题描述】:
为 redis 高可用性解决方案考虑以下设置:3 个虚拟机,每个虚拟机运行一个 redis 服务器实例和一个哨兵实例来监控设置。 R1(redis on VM1)配置为master,R2和R3为slaveof R1; S1...S3(哨兵)所有监视R1,法定人数为2。所有这些都静态写入相应VM上的redis.conf和redis-sentinel.conf。
现在考虑VM1(携带R1和S1)下降。哨兵选举例如R2 作为新的 master 和客户端代码,jedis,自动适应新的状态。到目前为止一切顺利。
当VM1 恢复并且R1 和S1 可用时,究竟会发生什么?
特别是:
-
R1是否会加入剩余的R2和R3以再次形成 3 节点设置(例如,因为S2和S3会继续监控它)? - 如果是,
R1会被选回主控还是继续作为从属?我应该关心吗? -
S1是否会加入S2和S3以再次形成 3 节点设置? -
jedis会自动适应吗?
【问题讨论】:
标签: redis jedis redis-sentinel