【发布时间】:2021-04-23 10:45:36
【问题描述】:
我很好奇在计算 redis 故障转移的多数时是否考虑了死(无法访问)的哨兵进程。比如我A节点有3个sentinel+Redis Master,B节点有3个sentinel+Redis Slave,如果A节点完全下线,Redis slave B会被提升为主吗?多数投票(N/2 +1) 表示同意了 4 个哨兵,但是由于节点 A 中的三个哨兵已经死亡,他们会算作 N 的一部分吗?
【问题讨论】:
标签: redis
我很好奇在计算 redis 故障转移的多数时是否考虑了死(无法访问)的哨兵进程。比如我A节点有3个sentinel+Redis Master,B节点有3个sentinel+Redis Slave,如果A节点完全下线,Redis slave B会被提升为主吗?多数投票(N/2 +1) 表示同意了 4 个哨兵,但是由于节点 A 中的三个哨兵已经死亡,他们会算作 N 的一部分吗?
【问题讨论】:
标签: redis
当然,死去的哨兵也算在内。否则,如果 A 和 B 之间的连接断开,就会出现脑裂问题。
为了保证HA,至少需要部署三个节点,每个节点运行一个哨兵实例。
【讨论】: