我不是Redis大师。
我们最近有一个生产案例,其中AWS流量引起了大约15分钟的巨大网络飙升。一旦网络问题消失,群集将在大约30秒内恢复正常。如果典型的响应时间是1ms,那么在网络问题期间上升到300-600ms +。我们的Redis主要是在这个AZ,并回复查询,但他们很慢。 Sentinel从未标记过它,因为它仍然可以联系它。
我想知道是否有可能检测到网络延迟或一般的响应时间慢,并迫使选举。
我知道这一点:
# sentinel down-after-milliseconds <master-name> <milliseconds>
#
# Number of milliseconds the master (or any attached slave or sentinel) should
# be unreachable (as in, not acceptable reply to PING, continuously, for the
# specified period) in order to consider it in S_DOWN state (Subjectively
# Down).
#
# Default is 30 seconds.
sentinel down-after-milliseconds mymaster 30000
我的解释是,上面将标记DOWN一个服务器,它在这个超时窗口期间根本没有联系,而不是一个不再响应时间的服务器。
实施例
如果正常响应是1毫秒,突然延迟到300毫秒并停留 在那里持续15分钟,我希望Sentinel收集响应时间 在所有Redis服务器之间选择一个具有最新功能的服务器 主人的信息和他们之间的响应时间最短。
这可能吗?