[发明专利]一种基于Raft的热备多主方法有效
申请号: | 202210185902.1 | 申请日: | 2022-02-28 |
公开(公告)号: | CN114726867B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 唐瑞琮;郭颂;曾磊;曾巧 | 申请(专利权)人: | 重庆趣链数字科技有限公司 |
主分类号: | H04L67/1042 | 分类号: | H04L67/1042;H04L41/00;H04L67/1095 |
代理公司: | 北京挺立专利事务所(普通合伙) 11265 | 代理人: | 郭磊 |
地址: | 400000 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 raft 热备多主 方法 | ||
本发明涉及互联网技术领域,具体公开了一种基于Raft的热备多主方法。包括以下步骤:步骤S001,在完成Leader选举后,从节点集群中选择若干备用Leader节点;步骤S002,将选举的备用Leader节点进行标识,标记为“备用节点”;步骤S003,令若干个“备用节点”集群为“备用节点集群”,并对“备用节点集群”中的“备用节点”以递增顺序依次进行编号;步骤S004,将选择的备用Leader节点强制同步log;步骤S005,当Leader发生宕机时,“备用节点”按照编号顺序由小到大作为优先级进行投票,解决了传统的Leader宕机时选主时间过长的问题。
技术领域
本申请涉及互联网技术领域,具体公开了一种基于Raft的热备多主方法。
背景技术
Raft是一种更为简单方便易于理解的分布式算法,主要解决了分布式中的一致性问题。相比传统的Paxos算法,Raft将大量的计算问题分解成为了一些简单的相对独立的子问题,Raft 通过选主选举一个的领导人,然后给予他全部的管理复制日志的责任来实现一致性。领导人从客户端接收日志条目,把日志条目复制到其他服务器上,并且当保证安全性的时候告诉其他的服务器应用日志条目到他们的状态机中。拥有一个领导人大大简化了对复制日志的管理。
在原始Raft共识协议中,在Leader宕机时,选主有随机超时时间,大概在150ms左右,但是随着节点变多,选主不容易达成一致,所消耗的时间可能会比较长,甚至出现长时间无法收敛的情况。在对服务停顿非常敏感的服务下,Leader集群宕机可能会影响此类服务,因此,发明人有鉴于此,提供了一种基于Raft的热备多主方法,以便解决上述问题,因此,发明人有鉴于此,提供了一种基于Raft的热备多主方法,以便解决上述问题。
发明内容
本发明的目的在于解决传统的Leader宕机时选主时间过长的问题。
为了达到上述目的,本发明的基础方案提供一种基于Raft的热备多主方法,包括以下步骤:
步骤S001,在完成Leader选举后,从节点集群中选择若干备用Leader节点;
步骤S002,将选举的备用Leader节点进行标识,标记为“备用节点”;
步骤S003,步骤S003,令若干个“备用节点”集群为“备用节点集群”,并对“备用节点集群”中的“备用节点”以递增顺序依次进行编号;
步骤S004,将选择的“备用节点”强制同步log;
步骤S005,当Leader发生宕机时,“备用节点”按照编号顺序由小到大作为优先级进行投票。
进一步,在步骤S001中,在每一轮Leader选举完成后,Leader评估节点集群中每一个节点情况。
进一步,Leader评估节点集群中每一个节点情况采用以下步骤:
步骤a.Leader评估节点集群中的每一个节点强制同步log的时间值;
步骤b.分别单独记录每一个节点强制同步log的时间值;
步骤c.按照各个节点强制同步log的时间值从小到大对节点进行递增顺序进行编号;
步骤d.选择编号靠前的若干个节点为“备用节点”。
进一步,在步骤S003中,“备用节点”广播到整个节点集群的所有节点中。
进一步,所述“备用节点”发生宕机再重启时,按照步骤a、步骤b、步骤c、步骤d重新选择一个备用Leader节点,并广播到整个节点集群。
进一步,所述“备用节点”发生宕机的数量与重新选择的“备用节点”数量相同,“备用节点集群”的所有“备用节点”的数量为保持不变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆趣链数字科技有限公司,未经重庆趣链数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210185902.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种粉煤灰蒸压砖生产用加热装置
- 下一篇:一种适用于斯诺克赛事的计时系统