【问题标题】:Supporting Slave of Slave Replication with Redis Sentinel?使用 Redis Sentinel 支持从属复制吗?
【发布时间】:2017-12-08 15:31:55
【问题描述】:

我们有两个数据中心,每个数据中心都有两个 redis 实例。通常它们被复制为链。

NY1 (Master) --> NY2 (Slave) --> CO1 (Slave) --> CO2 (Slave)

NY 是纽约,CO 是科罗拉多州,我们的备份数据中心。为了节省 WAN 上的带宽,我们不希望 CO1 CO2 连接到 NY1。相反,我们想要一个链式配置,其中只有一个从属直接连接到主控,其他都是“从属的从属”。

可以使用 Sentinel 维护这种复制布局吗?还是所有的奴隶都必须是主人的奴隶,而不是奴隶的奴隶?

【问题讨论】:

    标签: redis redis-sentinel


    【解决方案1】:

    目前这种类型的设置不适用于 Sentinel,因为 Sentinel 会重写所有受监控的 Redis 系统的配置。

    例如,如果您按照您的描述设置了一个系统并有哨兵监控所有主机,如果主服务器出现故障并强制进行故障转移,则每个 Redis 主机都将重新配置。其中一个副本(其中任何一个)将成为新主节点,其他副本将成为新主节点的副本。当旧的 master 重新上线时,它将被重新配置为新 master 的副本。

    但是,通常您可以让 Redis 以您想要的方式工作。通过将replicaof 配置值设置为副本,您可以根据需要拥有多个副本。

    就个人而言,我仍然会使用 Sentinel 来监控主服务器和“主要”副本(从主服务器本身复制的那些)。这可能会导致其中一个主要副本成为新的主副本,因此我将启用通知选项。这告诉哨兵在发生故障转移时调用脚本。在该脚本中,您可以发送电子邮件、点击 Slack webhook 或其他任何您想用它做的事情。当我得到它时,我会手动将主机重新配置回我想要的格式,但使用新的主机。这样做会很痛苦,但我仍然会自动故障转移主副本和主要副本,因此我的应用程序将继续工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-05
      • 2015-09-20
      • 2022-12-16
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 2012-10-25
      相关资源
      最近更新 更多