客户端高可用

客户端从 sentinel 节点中获取 master 节点信息。Sentinel 提供配置中心,而非代理。

常见开发运维问题

  • 节点问题:
    • sentinel 及 redis 多节点维护,上线、下线;
    • 主节点下线关键命令: sentinel failover XXX
  • 高可用读写分离:1主多从读写分离;Sentinel 保障主备切换。
  • Redis Sentinel 节点数最好大于等于 3 个节点数,最好是奇数。
  • 主从节点监控

三个定时任务

实现 Sentinel 节点对主节点、从节点、其他 Sentinel 节点的监控

  • 每 10 秒每个 sentinel 对 master 和 slave 执行 info
    • 用于发现 slave 节点
    • 确定主从关系
  • 每 2 秒每个 sentinel 通过 master 节点的 channel 交换信息(pub/sub)
    • 通过 __sentinel__:hello 频道交互
    • 交互对节点的“看法”和自身信息
  • 每 1 秒每个 sentinel 对其他 sentinel 和 redis 执行 ping

image.png
image.png
image.png