网店推广方法,济南网站自然优化,网页界面设计的意义,想花钱做网站怎么做redis主机默认是10s发送一次心跳给从节点。 从节点默认1s去发送心跳给主节点。
1、原理
当主节点出现故障时#xff0c;由Redis Sentinel自动完成故障发现和转移#xff0c;并通知应用方#xff0c;实现高可用性。
从节点的主要两个作用#xff1a;
主节点的数据备份。…redis主机默认是10s发送一次心跳给从节点。 从节点默认1s去发送心跳给主节点。
1、原理
当主节点出现故障时由Redis Sentinel自动完成故障发现和转移并通知应用方实现高可用性。
从节点的主要两个作用
主节点的数据备份。实现读写分离
2、部署架构
为了防止哨兵宕机因此哨兵也是需要多台部署不少于3台. 哨兵本身也是一台redis节点只是充当监控的角色不参与业务操作不存储数据
3、哨兵实现原理
按照上图的部署架构哨兵依赖于3个定时任务去实现监控和故障转移。 定时任务作用一
1.sentinel节点向主从节点发送一次info命令.就可以得到主从的拓扑结构。
//例如有新的从节点加入执行slaveof命令后哨兵会再下一次info命令后感知到新的拓扑结构。
2.同理主机或者某一个从节点宕机那么哨兵再次执行info命令的时候会感知到新的哨兵结构做出对应的操作.定时任务作用二 每隔2s的一次publish/subscribe
1. 哨兵1,23会向redis中的数据节点发送发布订阅命令。
2. 目的是为了感知新加入的哨兵节点以及在哨兵之间交互主节点的状态。定时任务作用三 每隔1s发送一次ping
1.例如哨兵3每隔1s向哨兵1,2主节点从节点发送一次ping心跳。
//首先是判断各个节点是否存活由此可以看出哨兵还是挺忙的忙着故障的恢复和转移 哨兵与主从的通讯
4、主管下载客观下线领导者选举 达到客观下线的条件后开启领导者哨兵选举 谁先发现下线谁就是哨兵的领导者
5、故障转移 1. 哨兵从从节点列表中选择一台从节点。
2. 过滤掉不监控的从节点一般是5s内没有回复pong的。
3. 如果两个从节点都是健康的则选择那个优先级高的。优先级是可以配置的
4. 如果以上不满足则选择复制最完整的节点来充当主节点。
5. 如果还不满足则选择runid最小的节点。runid最小表示是最早启动的节点。哨兵完成主从切换后对于Java客户端来说是无感知的客户端如何操作呢不可能去修改配置文件的。 通过JedisSentinelPool实现在客户端的主从切换