redis 哨兵模式默认同步时间是多长?
1 个回答
满心期待必有所失,人无贪念便有馈赠。李倩凤Redis 哨兵模式(Sentinel)本身**不负责数据同步**,它的作用是: > **监控 Redis 主从节点的健康状态 + 发生故障时自动完成主从切换(Failover)**。 ## 所以结论一: ### 🚫 Redis Sentinel 模式 没有“默认同步间隔”这个概念 因为: * **主从数据同步**是由 Redis 的 **主节点和从节点**自行维护的; * 从节点会**实时(近实时)同步主节点数据**,采用的是 **复制协议(Replication)**; * 哨兵不干预主从同步的间隔或频率,它只是监听节点状态并做切换。 ## 结论二:主从数据同步机制 ### 主从同步行为: * Redis 使用 **异步复制**(`ASYNC`); * 每次主节点写入数据时,会将写操作命令**异步发送给从节点**; * 从节点会 **几乎实时接收并重放命令**来保持数据一致; * 如果从节点掉线,重连后会触发 **增量复制** 或 **全量同步**(取决于 offset)。 ## 哨兵监控频率 虽然哨兵不做同步,但它有自己的 **探测频率**,控制的是故障判断的灵敏度: | 参数 | 默认值 | 说明 | | ------------------------- | ------------ | ---------------- | | `down-after-milliseconds` | 30000(30s) | 多久没响应就认为该节点失联 | | `failover-timeout` | 180000(3min) | 主从切换的最大超时时间 | | `parallel-syncs` | 1 | 切换时同时向新主同步的从节点数量 | ## 总结 | 内容 | 是否存在 / 默认值 | | ------------- | ----------------------------------- | | Sentinel 同步间隔 | ❌ 不存在(它不做同步) | | 主从数据同步频率 | ✅ 实时、异步复制 | | 哨兵探测频率 | ✅ 默认每 1 秒一次心跳 | | 故障判定超时(默认) | ✅ `down-after-milliseconds = 30000` | 如果你想调高主从同步实时性,建议关注的不是 Sentinel,而是: * `repl-backlog-size` * `repl-diskless-sync` * 网络稳定性 * 从节点机器负载编辑于 2025-07-18 21:15 •IP属地 北京举报评论收藏
公众号进入网站体验更佳

