什么是redis哨兵模式
前哨模式是一种特殊模式。首先,REDIS将Sentinel命令作为一个独立的过程。
该原理是通过发送命令并等待Redis服务器响应来监视许多REDIS版本的关键。
Sentinel是REDIS的高度可用解决方案:Sentinel系统由一个或多个Sentinel版本组成,可以监视服务器中的任何数量的主服务器和所有从服务器。
从离线服务器将自动升级到新的主服务器。
(要学习的建议:有关REDIS的视频教程)主函数1。
有时观察Redis是否按预期运行良好。
); ); 3。
能够自动转换的能力。
当没有主按钮时,可以选择一个主人的从按钮(如果有一个以上的辅助按钮)成为新的主人。
其他辅助节点将更改他们跟踪的所有者的地址,以晋升为新地址。
所有者的所有者。
4。
Sentinel为客户提供发现服务。
连接到Sentinel和Sentinel的客户提供当前服务器的地址,然后提供服务。
如果发生转换,服务器无法正常工作,Sentinel将为客户提供地址。
新地址。
有关与Redis相关的更多技术知识,请访问Redis教程以查找!
Redis哨兵模式(故障转移测试)
哨兵模式基于活动和备份模式,并添加到后卫柱中,以实现REDIS群集的故障转移。警卫哨所负责监视重新桅杆失败时的群集状态,后卫项目通过选举选择了替换大师。
选举通常需要大量的后卫职位,并且大多数人达成共识。
问题:如果哨兵群集的任何出现,即使出现了,或者只剩下一个前哨,会发生什么。
可以执行故障转移吗? 为什么会出现此问题:Sentinel实际上是REDIS的出现,通常是为了确保REDIS群集的故障转移。
由于资源和网络通信性能,Sentinel和Redis通常分布在同一台物理机器上。
如果物理机器失败,前哨的出现和REDIS服务存款将在一起。
本文进行了一个实验来解决此问题。
使用3+3模式,3redis+3 sentinel。
Three virtual machines, each runs 1 Redis+1 Sentinelip, role planning 192.168.237.101: Master, Sentinel 192.168.237.100: Slave, Sentinel 192.168.237.103: SL AVE, Sentinel Installs Rediserverserverteledreserverteledredredreddelreddelreddelservered. Server configuration modification (/etc/redis/redis redis /senti nel.conf) sentinelmonitormymaster192.168.237.10163792 sentinelknown-slavemymaster192.168.237.1006379 protected-modeno start se ntinel /etc/init.d/redis-sentinelstart Sjekk redis-sentinel-situasjonen Forventning: failover, vaktposten velger en ny master and关闭REDIS服务器(192.168.237.101)检查手表日志(/var/log/redis/redis/redis-sentinel.log)您可以看到,您可以看到, +ODownmaster,Guard Post发现了主体客观地离线,然后投票: Vote-for Leader selects a new master: Switch-Mastermymaster192.168 .237.1016379192.168.237.1036379192.168.237.237.101 Watch log: Check the status of Redis and Vigil Klyngge and confirm that the master has turned 192.16.1 237.101 REDIS服务器,检查日志,192.168.237.101被转换为从属期望:有两个后卫帖子,可能会发生剩下的两个从属人获得一个重新选举的语音时间,直到一个从服务器有两票,而Failover完成了两次。
。
3.1实验后,主人已转换为192.168,237,103。
关闭103号警卫柱和Redis Server。
检查两个后卫柱的Redis Centinel日志。
您可以选择故障转移的主人:检查REDIS群集并确认主(192.168.237.100)期望:无法按顺序关闭两个后卫帖子和一个REDIS服务器桅杆。
在第3.2节中,主人被转移至100。
恢复环境后,后卫职位为103,100依次关闭。
Redis Servermaster 100检查了101的手表日志。
由于只有一个后卫帖子。
这位101后卫的邮政投票决定恢复重新介绍。
目前有两个。
一个奇怪的后卫使选择大师进行故障转移变得更容易。
+sdown:主观下调机+odown:客观下调机+ny-eab:群集增量版本编号+语音 - 领导者:在警卫集群中选择一个后卫柱作为此故障转移操作的负责人+试验设施:启动故障转移:对于某个IP投票:另一个后卫职位选民 +选定的领导者:在守卫集群中再次确认哪个后卫职位是即将执行故障转移的领导者。
+选定的奴隶从属:选择导体 +故障转移状态 - 落叶 - nooneslaveleader:将“从奴隶 - noone”命令发送到目标从属,并告诉它不应该是其他节点的从boss完成的。
从奴隶转换为主人。
+故障自由 - 状态等待促销从奴隶:等待其他后卫帖子确认从奴隶+晋升的奴隶:其他所有人Sentinels验证成功+failover-state-reconf-slaves.开始做RECONF操作(更新配置信息)+Slave-Reconf-可见: 发送“Slaveof”指令到指定从机跟随新的master+switch-master: 故障完成后,各个Sentinel开始监控New Master
java 开发框架 Redis 之 sentinel 和集群
Redis高级解决方案-Sentinel(哨兵模式) 搭建好Redis主从复制方案后,就需要找到一台主服务器来手动切换作为新的master。哨兵模式诞生了。
关于Sentry模式:Sentry模式是官方提供的现成的解决方案。
Sentry模式还采用分布式架构,支持多个Sentinel进程协同工作,实现Sentinel的高可用性。
Sentinel 工作流程:通过向主服务器发送 Ping 命令或从主服务器发送 Ping 命令来监控运行状态。
当主服务器出现故障时,Sentinel会自动将服务器从master升级为主服务器。
Pentine定时任务:Sentinel每秒进行一次心率检测,每10秒进行一次信息收集,每2秒进行一次信息交换,保证所有Sentry和Redis节点的实时状态。
Sentinel网络:Sentinel是一个分布式系统。
Sentinel网络故障修复原理: 1、主观下线:当主服务器出现故障时,Sentinel会确认故障切换不会立即执行。
2.目标下线:当多个Sentinel确认失败时,发起其中一个投票,确认后一定数量的Sentinel被主服务器标记为目标下线。
3.哨兵选举:当选为哨兵首领,转嫁责任。
4、主选:故障切换时,选择优先级高、数据同步量大的服务器作为新的主服务器。
5、新的主服务器会通过发布订阅的方式通知所有Sentinel更新监控信息。
故障处理及修复:Sentry检测到错误后,会进行自动转换处理。
在机器上配置Sentry模式,实现Sentinel模式,包括创建各端口的Redis实例、设置主从副本、搭建Sentry集群、创建Sentry配置文件、启动sentinel并检查。
集群模式 Sentry模式解决了主服务器故障后的自动故障转移,但不支持动态伸缩。
随着Redis 3.0的出现,引入了集群模式。
集群设计:集群采用无中心结构。
集群特点: 数据分配及数据分配:预置16384个桶,采用哈希槽算法平均数据分配。
集群主模式:基于主从架构的集群。
搭建集群:集群至少需要几个节点,使用6个节点,每个节点至少配备一个从节点,在两台机器上进行测试,并启动6个不同端口的Redis实例。
创建集群:使用特定脚本创建集群,配置key和一致性关系,保证数据分布均衡。