Sentinel哨兵模式实现主从架构的高可用
一、什么是哨兵模式
主从架构是高可用的基石那么redis怎么实现高可用那么在这里我们引出一个哨兵模式实现redis主从的高可用,哨兵模式是一个分布式系统,用于对主从结构中的每一台服务器进行监控,当主节点出现故障后通过投票机制来挑选新的主节点,并且将所有的从节点连接到新的主节点上。(哨兵模式的投票是过半机制,并且在一个集群中哨兵服务器的个数必须为奇数台为了防止服务器脑裂的发生以及遵守哨兵模式的投票过半机制)
二、哨兵模式的优点
监控:监控谁?支持主从结构的工作一个是主节点一个是从节点,那肯定就是监控这俩个了。监控主节点和从节点是否正常运行;检测主节点是否存活,主节点和从节点运行情况。
通知:哨兵检测的服务器出现问题时,会向其他的哨兵发送通知,哨兵之间就相当于一个微信群,每个哨兵发现的问题都会发在这个群里。
自动转移故障:当检测到主节点宕机后,断开与宕机主节点连接的所有从节点,在从节点中选取一个作为主节点,然后将其他的从节点连接到这个最新主节点的上。并且告知客户端最新的服务器地址。
三、哨兵模式的工作流程
Sentinel既可以部署在单独的主机山也可以部署在redis主机上 sentinel既能监控又能体统配置功能,像sentinel指明主服务器即可(即仅监控主服务器),哨兵可以在主redis上获取主从架构的信息并分辨从节点,当主redis宕机后哨兵会凑够多个从库中投票选出一个新的主redis,当主redis被替换