佛山网站提升排名,企业年金个人和单位的缴费比例,安保企业网站模板,创鑫时代广告公司简介Sentinel 哨兵模式 Redis Sentinel 官网 Redis 的 Sentinel 文档 -- Redis中国用户组#xff08;CRUG#xff09; Sentinel Redis 命令参考#xff08;红色#xff09; Sentinel 通过监控的方式获取主机的工作状态是否正常#xff0c;当主机发生故障时#xff0c; Senti…Sentinel 哨兵模式 Redis Sentinel 官网 Redis 的 Sentinel 文档 -- Redis中国用户组CRUG Sentinel Redis 命令参考红色 Sentinel 通过监控的方式获取主机的工作状态是否正常当主机发生故障时 Sentinel 会自动进行 Failover即故障转移并将其监控的从机提升主服务器master从而保证了系统的高可用性。哨兵sentinel是一个分布式系统用于对主从结构中的每台服务器进行监控当出现故障时通过投票机制选择新的master并将所有slave连接到新的master。 哨兵模式是一种自动选择老大的模式即在老大宕机之后哨兵模式会根据哨兵们的内部投票自动的重新选出一个新的老大。注意配置sentinel之前需先建立master-slave replication哨兵的作用 ● 监控 不断的检查master和slave是否正常运行 master存活检测、master与slave运行情况检测 ● 通知(提醒) 当被监控的服务器出现问题时向其他哨兵间客户端发送通知 ● 自动故障转移 断开master与slave连接选取一个slave作为master将其他slave连接到新的master并告知客户端新的服务器地址注意哨兵也是一台redis服务器只是不提供数据服务通常哨兵配置数量为单数 哨兵工作原理【其实就是主从同步】阶段一监控阶段用于同步各个节点的状态信息sentinel会向master、slave以及其他sentinel获取状态sentinel直接会组件“对应频道”大家一起发布消息、订阅消息收消息同步信息等阶段二通知保持联通阶段三故障转移发现问题竞选负责人优选新master新master上任其他slave切换master原master座位slave故障回复后连接 ● 通过发送命令让Redis服务器返回监控其运行状态包括主服务器和从服务器。 ● 当哨兵监测到master宕机会自动将slave切换成master然后通过发布订阅模式通知其他的从服务器修改配置文件让它们切换主机。 ● 一般情况下至少会需要3~5个哨兵对redis 进行监控我们可以通过修改端口启动多个sentinel 服务。 ● 主观下线 主观下线Subjectively Down 简称 SDOWN适用于主服务器和从服务器。如果在规定的时间内(配置参数down-after-milliseconds)Sentinel 节点没有收到目标服务器的有效回复则判定该服务器为“主观下线”。 比如 Sentinel1 向主服务发送了PING命令在规定时间内没收到主服务器PONG回复则 Sentinel1 判定主服务器为“主观下线”。 ● 客观下线 客观下线Objectively Down 简称 ODOWN只适用于主服务器。 Sentinel1 发现主服务器出现了故障它会通过相应的命令询问其它 Sentinel 节点对主服务器的状态判断。如果超过半数以上的 Sentinel 节点认为主服务器 down 掉则 Sentinel1 节点判定主服务为“客观下线”。 ● 投票选举 投票选举所有 Sentinel 节点会通过投票机制按照谁发现谁去处理的原则选举 Sentinel1 为领头节点去做 Failover故障转移操作。Sentinel1 节点则按照一定的规则在所有从节点中选择一个最优的作为主服务器然后通过发布订功能通知其余的从节点slave更改配置文件跟随新上任的主服务器master。至此就完成了主从切换的操作。对上对述过程简单总结 Sentinel 负责监控主从节点的“健康”状态。当主节点挂掉时自动选择一个最优的从节点切换为主节点。客户端来连接 Redis 集群时会首先连接 Sentinel通过 Sentinel 来查询主节点的地址然后再去连接主节点进行数据交互。当主节点发生故障时客户端会重新向 Sentinel 要地址Sentinel 会将最新的主节点地址告诉客户端。因此应用程序无需重启即可自动完成主从节点切换。 ● 主观下线Subjectively Down 简称 SDOWN指的是单个 Sentinel 实例对服务器做出的下线判断。 ● 客观下线Objectively Down 简称 ODOWN指的是多个 Sentinel 实例在对同一个服务器做出 SDOWN 判断 并且通过 SENTINEL is-master-down-by-addr 命令互相交流之后 得出的服务器下线判断。一个 Sentinel 可以通过向另一个 Sentinel 发送 SENTINEL is-master-down-by-addr 命令来询问对方是否认为给定的服务器已下线。 ● 投票选举 所有 Sentinel 节点会通过投票机制按照谁发现谁去处理的原则安装 Sentinel Sentinel 需要作为插件单独安装安装方式如下
sudo apt install redis-sentinel
总结 ● 将宕机的master下线 ● 谁来确认master宕机了 ● 找一个slave作为master ● 找一个主怎么找法 ● 通知所有的slave连接新的master ● 修改配置后原始的主恢复了怎么办 ● 启动新的master与slave ● 全量复制*N部分复制*N 第一阶段监控阶段 第二阶段通知阶段 1、* * 2* * 3* * 4* * 5* * 6* * 第三阶段 1、* * 2* * 3* * 4* * 5* * 6* * 7* * 8* * 9* * 10* * * 11、* * 12* * 13* * 14* * 15* * 16* * 17* 18* * 19* * 20* * 21、* * 22* * 23* * 24* * 25* * 26* * 27* * 28* * 29* * 30* * 31、* * 32* * * *