gpt4 book ai didi

多 az netsplit 后具有 2 个主节点的 Redis Sentinel

转载 作者:可可西里 更新时间:2023-11-01 11:33:22 25 4
gpt4 key购买 nike

你好堆栈社区,

我有一个关于 Redis sentinel 的问题,用于特定的问题案例。我将 AWS 与多可用区结合使用来创建一个 sensu 集群。

在 eu-central-1a 上,我有一个 sensu+redis(M)、一个 RBMQ+Sentinel 和另外 2 个 Sentinels。在 eu-central-1b 上也是如此,但 redis 是我在这个 AZ 上的奴隶。

如果出现问题并且 eu-central-1a 无法与 eu-central-1b 通信怎么办?我认为 eu-central-1b 上的 Sentinel 应该将我的 redis slave 提升为 master,因为他无法联系我的 redis master。所以我应该让 2 个 redis master 在 2 个不同的 AZ 上一起运行。

但是当 AZ 之间的链接被检索时,我仍然会有 2 个母版,有 2 个不同的数据。在这种情况下会发生什么?一个master变成slave,数据可以无损复制?我们是否需要重启一个主人,他将成为一个奴隶?

最佳答案

例如,Sentinel 检测 master 的变化

如果 master 宕机并且无法访问,则会选举一个新的 slave。这是基于 quorum,其中多个哨兵同意 master 已关闭。 故障转移 然后发生。

一旦哨兵检测到主人重新上线,我相信它就是一个奴隶,因此我相信新的主人会继续。在从 master 到新 master 的切换中,您将不可避免地丢失数据。

如果您失去连接,那么 yes sentinel 将无法正常工作,因为它依赖于多个 sentinel 来同意主 redis 已关闭。您不应该在 2 个哨兵系统中使用哨兵。

基本解决方案是在另一台服务器上放置一个额外的哨兵,也许是未运行 redis/sentinel 的客户端/应用程序服务器,这样您就可以利用 quorum 和哨兵同意主人下来了。

关于多 az netsplit 后具有 2 个主节点的 Redis Sentinel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38585178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com