Redis哨兵故障转移,选择特定的master

标签 redis high-availability redis-sentinel

我有 3 个复制的 Redis 实例在 3 台不同的机器上运行:A、B 和 C。 我最初选择 A 作为我的主人。 我还有 3 个哨兵(每台机器上 1 个)监视 A。

如果 A 出现故障,我希望哨兵选择一个特定的主节点来故障转移到(比如 B)。 有没有一种方法可以选择特定的 master 而不是将其留给哨兵的选举机制?

由于我在任何地方都找不到这个问题,我认为这不是标准程序,所以我将解释其背后的原因: 我的应用程序在负载均衡器后面的 A、B 和 C 上运行。 主服务器使用其本地 Redis 数据库,该数据库被复制到其他两个从服务器。

当A出现故障时,负载均衡器可以选择B作为master,而Redis sentinels可以选择C作为Redis master。 正如我刚才所说,我需要实例是本地的,所以这就是我需要将 B 指定为 Redis master 的原因。

最佳答案

有一个名为“slave-priority”的 Redis 配置设置可以帮助您。

引用: http://download.redis.io/redis-stable/redis.conf

关于Redis哨兵故障转移,选择特定的master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40362929/

相关文章:

php - 原则缓存关系

amazon-web-services - 负载均衡器会泛滥吗?

database - 具有幂等增长运算符的最终一致性分布式数据库?

Redis哨兵与集群

docker - docker swarm 中的 Redis 哨兵故障转移配置

redis - 在redis中跟随fifo

Ruby 和 Redis,线程不处理命令

java - Spring Redisson哨兵错误-至少需要两个哨兵

redis - 如何创建分布式 'debounce' 任务来排空 Redis 列表?

apache-zookeeper - 如果三个节点之一出现故障,Zookeeper 能否保持高可用性