美文网首页
为什么需要 Redis 哨兵?

为什么需要 Redis 哨兵?

作者: woshishui1243 | 来源:发表于2020-06-30 23:17 被阅读0次

    在说哨兵之前,我们先说下主从复制,Redis 的主从复制模式,一旦主节点出现故障无法提供服务,需要人工介入手工将从节点调整为主节点,同时应用端还需要修改新的主节点地址,这种故障转移的方式对于很多应用场景是不能容忍的。正式由于这个问题,Redis 提供了 Sentinel(哨兵) 架构来解决这个问题。

    什么是哨兵?

    Redis Sentinel 是一个分布式的架构,它本身也是一个独立的 Redis 节点,只不过它不存储数据,只支持部分命令,它能够自动完成故障发现和故障转移,并通知应用方,从而实现高可用。

    Redis Sentinel 包含若干个 Sentinel 节点和 Redis 数据节点,每个 Sentinel 节点会对数据节点和其他 Sentinel 节点进行监控,当发现节点异常时,会对节点做下线标识,如果被标识的是主节点,此时会与其他Sentinel 节点进行协商,当大多数Sentinel 节点都人为主节点不可达时候,会发起选举,选出一个 Sentinel 节点来完成自动故障转移的工作,同时会将这个变化通知给 Redis 的应用方。这个过程是完全自动化的,无需人工干预。

    Sentinel 主要提供以下几个功能:

    监控:定期检测Redis 数据节点、其他 Sentinel 节点是否可达。
    通知:将故障转移的结果通知给应用方。
    主节点故障转移:实现从节点晋升为主节点,并维护后续正确的主从关系
    配置提供者:客户端在初始化的时候连接 Sentinel 节点集合,从中获取主节点信息。
    多个 Sentinel 节点来共同判断故障,可以有效防止误判,同时如果个别 Sentinel 节点不可用,整个 Sentinel 节点集合依然是高可用的。
    ————————————————
    版权声明:本文为CSDN的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://baijiahao.baidu.com/s?id=1651062093310564248&wfr=spider&for=pc

    相关文章

      网友评论

          本文标题:为什么需要 Redis 哨兵?

          本文链接:https://www.haomeiwen.com/subject/wrqqqktx.html