3

我正在使用由一个sentinel监控的两个 redis 实例。当主服务器宕机并且出现“+sdown”时,我会在其redis-clientnotification-script上使用以下命令运行从服务器提升为主服务器的位置:

SLAVEOF NO ONE.

它工作正常。

我的问题是,slave 需要大约 10 秒才能成为 master,应用程序才能继续工作。

我怎样才能减少这个时间戳?

下面是哨兵配置::::

sentinel monitor mymaster 127.0.0.1 6379 1

sentinel down-after-milliseconds mymaster 5000

sentinel failover-timeout mymaster 900000

sentinel can-failover mymaster yes

sentinel parallel-syncs mymaster 1

sentinel notification-script mymaster /etc/init.d/config/script.sh
4

2 回答 2

1

不是对您问题的直接回答,而是对不同设置的描述,以避免需要快速响应(在某些情况下)。

当我们在 UML 中为用例建模时,我们从不将 redis 哨兵放在默认流中。哨兵是我们对发生未知错误的情况的警卫:异常流。

如果我们事先知道客户端是否需要连接到不同的 redis 实例,我们只需使用 redis pub/sub 指示客户端这样做(结合低分辨率轮询,因为 pub/sub 流量不能保证交付)。

亲切的问候,TW

于 2014-03-16T17:52:34.163 回答
1

尝试减少sentinel down-after-milliseconds mymaster and failover-timeout mymaster

于 2018-12-13T20:33:34.640 回答