[发明专利]一种故障转移方法、装置、电子设备及存储介质在审
申请号: | 202011054476.5 | 申请日: | 2020-09-29 |
公开(公告)号: | CN114328709A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 赵景波 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/21 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 高莺然;马敬 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 故障 转移 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种故障转移方法、装置、电子设备及存储介质,涉及计算机技术领域。本发明实施例包括:若第一哨兵节点监控到Redis系统中存在故障数据库,则向哨兵集群中的其他哨兵节点发送第一轮投票请求;根据其他哨兵节点返回的第一轮投票结果,统计第一哨兵节点获得的第一轮票数以及每个其他哨兵节点获得的票数;若第一轮票数未超过指定数量,且第一轮票数大于每个其他哨兵节点获得的票数,则向其他哨兵节点发送第二轮投票请求;根据其他哨兵节点发送的第二轮投票结果,统计自身获得的第二轮票数;若第二轮票数达到指定数量,则对故障数据库进行故障转移。可以避免Redis长时间不可用。
技术领域
本发明涉及计算机技术领域,特别是涉及一种故障转移方法、装置、电子设备及存储介质。
背景技术
远程字典服务(Remote Dictionary Server,Redis)为一种数据库,Redis数据库可以采用主从的部署方式,即一个主Redis数据库(以下简称为主库)可以对应一个或多个从Redis数据库(以下简称为从库),主库的数据可以同步至从库。
Redis Sentinel为Redis官方提供的分布式高可用服务,Sentinel集群(以下统称为哨兵集群)中的各Sentinel节点(以下统称为哨兵节点)可以监控各主库以及每个主库对应的从库是否发生故障,若监控到主库或者从库发生故障,则进行故障转移。即,若监控到主库故障,则将该主库对应的一个从库提升为主库,并由该从库对外提供服务。若监控到从库发生故障,则禁用该从库,避免其他设备访问该从库。
以对主库的监控为例,上述监控过程为:若一个哨兵节点感知到主库故障,则将该主库标记为sdown,该哨兵节点可与其他哨兵节点交换信息,若确定超过一半的哨兵节点将该主库标记位sdown,则该哨兵节点将该主库标记为odown。然后在随机等待50-100毫秒后,该哨兵节点向其他哨兵节点发送投票请求,该投票请求中携带该哨兵节点的纪元。其中,对于一个哨兵节点,每发起一次选举,则将自身维护的纪元加1,且若接收到其他哨兵节点发送的投票请求,且投票请求中携带的纪元大于自身维护的纪元,则将自身维护的纪元更新为投票请求中携带的纪元。
进而,其他哨兵节点接收到该投票请求后,若确定投票请求中携带的纪元大于自身维护的纪元,且自身未在投票请求中携带的纪元内投过票,则向发送该投票请求的哨兵节点投票。然后,哨兵节点可统计一段时间内自身取得的票数,若确定自身取得了超过一半的哨兵节点的投票,则该哨兵节点发起故障转移。
然而,若Redis Sentinel工作在大规模场景下,即每个哨兵节点可能监控上百套主库与从库。若因网络抖动或者机房宕机导致大批的主库和从库出现故障,RedisSentinel将产生消息风暴,每个哨兵节点都需要处理大量的消息,导致对消息处理存在延迟。比如若哨兵节点无法及时处理投票请求,或者因网络原因投票结果未及时反馈至发起投票请求的哨兵节点,将导致每个哨兵节点都无法得到足够的票数,使得选举机制出现脑裂。进而无法进行故障转移,导致Redis服务长时间不可用。
发明内容
本发明实施例的目的在于提供一种故障转移方法、装置、电子设备及存储介质,以实现Redis服务长时间不可用。具体技术方案如下:
第一方面,本发明实施例提供一种故障转移方法,所述方法应用于哨兵集群中的第一哨兵节点,所述哨兵集群中的第一哨兵节点用于对Redis系统中的数据库进行监控,所述方法包括:
若监控到Redis系统中存在故障数据库,则向所述哨兵集群中的其他哨兵节点发送第一轮投票请求,所述第一轮投票请求用于请求所述第一哨兵节点执行故障转移操作;
根据其他哨兵节点返回的第一轮投票结果,统计所述第一哨兵节点获得的第一轮票数以及每个其他哨兵节点获得的票数;
若所述第一轮票数未超过指定数量,且所述第一轮票数大于每个其他哨兵节点获得的票数,则向其他哨兵节点发送第二轮投票请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011054476.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:果仁灌装装置及其方法
- 下一篇:掺杂型二氧化钛在制备声敏剂中的应用