假设我有两个数据中心,每个数据中心都运行一个redis实例。此外,我在这两个数据中心中运行了三个sentinel实例,每个实例在不同的机器上,但其中两个在同一数据中心。
这是一个问题吗?
在最坏的情况下,如果第一个数据中心变得不可用,三个前哨实例中的两个+一个redis实例将同时关闭。如果此redis实例是主实例,则会故障转移到其他数据中心。
但是,如果数据中心1再次可用,会发生什么情况?我猜这将是新的配置:
Data center 1 - Sentinel 1 -> Points to master in data center 1
Data center 1 - Sentinel 2 -> Points to master in data center 1
Data center 2 - Sentinel 1 -> Points to master in data center 2redis会将数据中心1中的master重新设置为新master吗?如果是,在此期间,数据中心2中的主数据库发生了什么变化?
发布于 2018-01-09 23:08:50
如果具有两个前哨的数据中心宕机,并且主Redis节点也宕机,那么剩余的前哨节点将无法选举新的主Redis或将另一个数据中心中的Redis服务器提升为主节点。大多数的哨兵必须同意主雷迪斯的失败。他们还必须选举一个前哨进程作为领导者,将实时Redis服务器提升为主服务器;为此,大多数前哨进程也必须可用。在3个Sentinels部署的情况下,大多数是2,当其中2个Sentinels出现故障时,主Redis不会发生故障转移。
https://stackoverflow.com/questions/48166350
复制相似问题