System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别是涉及一种数据同步集群、方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
1、为防止系统因短时间接收到大量请求而导致响应变慢甚至崩溃,目前往往会采用多个计算机设备(也即业务节点)组成分布式的业务系统。此时由于用户的不同业务请求可能由不同的业务节点进行处理,因此各个节点之间需要进行数据同步,确保在每个节点上与业务相关的业务数据一致。
2、在节点数量较少、不使用redis这种集中式服务的业务系统中,各个节点可以通过互相发送数据来保证数据同步。若业务系统更新,则各个旧的业务节点需要依次下线,同时业务系统替换上更新好的新节点顶替下线的节点。由于新节点上线后需要从其他节点同步业务数据,业务系统在新节点同步好业务数据之前会暂时处于不可用的状态,无法保证业务系统的可用性。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种数据同步集群、方法、装置、计算机设备、存储介质和计算机程序产品。
2、第一方面,本申请提供了一种数据同步集群。所述数据同步集群包括raft集群和监听节点,所述raft集群包括领导节点和跟随节点,其中,
3、所述监听节点用于周期性从所述raft集群中的任一节点同步业务数据;
4、所述监听节点还用于在监听到所述raft集群中的任一节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,加入所述raft集群。
5、在其中一个实施例中,所述监听节点还用于在监听到所述raft集
6、所述领导节点用于响应于所述加入请求,修改所述领导节点存储的raft集群配置,并将修改后的所述raft集群配置同步至各所述跟随节点及所述监听节点;其中,修改后的所述raft集群配置用于指示所述监听节点为跟随节点。
7、在其中一个实施例中,所述监听节点还用于在监听到所述raft集群中的领导节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,向各所述跟随节点发送投票请求;
8、所述跟随节点用于响应于所述投票请求,基于各所述跟随节点及所述监听节点进行raft集群选举。
9、在其中一个实施例中,所述监听节点还用于在加入所述raft集群后,基于所述监听节点存储的业务数据,向所述领导节点发送数据同步请求;
10、所述领导节点还用于基于所述数据同步请求更新所述领导节点中存储的业务数据,并基于所述领导节点更新后的业务数据,向各所述跟随节点及所述监听节点进行数据同步。
11、在其中一个实施例中,所述监听节点还用于接收业务请求,并基于所述业务请求向所述领导节点发送业务处理请求;
12、所述领导节点用于响应于所述业务处理请求,基于所述领导节点存储的业务数据确定业务处理结果,并向所述监听节点发送所述业务处理结果;
13、所述监听节点还用于基于所述业务处理结果对所述业务请求进行处理。
14、在其中一个实施例中,在新增节点加入所述数据同步集群后,所述新增节点用于获取所述数据同步集群的节点数量,若所述节点数量为1,则将所述新增节点存储的raft集群配置修改为第一配置,所述第一配置用于指示所述监听节点为领导节点;或者若所述节点数量大于1,且所述节点数量小于或者等于raft集群节点数量阈值,则所述新增节点向所述领导节点发送所述加入请求;或者若所述节点数量大于所述raft集群节点数量阈值,则将所述新增节点存储的raft集群配置修改为第二配置,所述第二配置用于指示所述新增节点为监听节点。
15、在其中一个实施例中,所述新增节点还用于在所述节点数量大于1,所述节点数量小于或者等于raft集群节点数量阈值,且所述节点数量为奇数的情况下,向所述领导节点发送所述加入请求;或者在所述节点数量大于1,所述节点数量小于或者等于raft集群节点数量阈值,且所述节点数量为偶数的情况下,将所述新增节点存储的raft集群配置修改为第三配置,所述第三配置用于指示所述新增节点为临时监听节点;
16、所述临时监听节点还用于监听所述数据同步集群的节点数量,并在所述节点数量变更为奇数,且变更后的所述节点数量小于或者等于所述raft集群节点数量阈值的情况下,向所述领导节点发送所述加入请求。
17、在其中一个实施例中,所述数据同步集群具有节点列表,所述节点列表中各节点的所述节点信息,按照各所述节点加入所述数据同步集群的顺序排列;
18、所述监听节点还用于确定所述监听节点的节点信息,在所述节点列表中的目标排列顺序,并在所述目标排列顺序小于或者等于所述raft集群节点数量阈值的情况下,判定所述监听节点满足所述递补条件。
19、第二方面,本申请还提供了一种数据同步方法。数据同步集群包括raft集群和监听节点,所述raft集群包括领导节点和跟随节点,所述方法应用于所述监听节点,包括:
20、周期性从所述raft集群中的任一节点同步业务数据;
21、在监听到所述raft集群中的任一节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,加入所述raft集群。
22、第三方面,本申请还提供了一种数据同步装置。数据同步集群包括raft集群和监听节点,所述raft集群包括领导节点和跟随节点,所述装置应用于所述监听节点,包括:
23、同步模块,用于周期性从所述raft集群中的任一节点同步业务数据;
24、加入模块,用于在监听到所述raft集群中的任一节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,加入所述raft集群。
25、第四方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项方法。
26、第五方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项方法。
27、第六方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项方法。
28、上述数据同步集群、方法、装置、计算机设备、存储介质和计算机程序产品,将各节点组成raft集群,采用raft算法保证节点之间的数据强同步,同时新设置监听节点定期从raft集群同步业务数据。在监听节点监听到raft集群中有节点被移除的情况下,若监听节点判定自身递补至raft集群中,则监听节点加入raft集群,维持raft集群的正常运行。而此时由于监听节点中已经存储有之前同步过的业务数据,监听节点基于raft算法和其他raft集群节点之间进行数据同步的时间可大大缩短。可在基于raft算法确保数据同步集群中各个节点数据一致的同时,减少节点因更新等原因下线而本文档来自技高网...
【技术保护点】
1.一种数据同步集群,其特征在于,所述数据同步集群包括raft集群和监听节点,所述raft集群包括领导节点和跟随节点,其中,
2.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于在监听到所述raft集群中的跟随节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,向所述领导节点发送加入请求;
3.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于在监听到所述raft集群中的领导节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,向各所述跟随节点发送投票请求;
4.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于在加入所述raft集群后,基于所述监听节点存储的业务数据,向所述领导节点发送数据同步请求;
5.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于接收业务请求,并基于所述业务请求向所述领导节点发送业务处理请求;
6.根据权利要求2所述的数据同步集群,其特征在于,在新增节点加入所述数据同步集群后,所述新增节点用于获取所述数据同步集群
7.根据权利要求6所述的数据同步集群,其特征在于,所述新增节点还用于在所述节点数量大于1,所述节点数量小于或者等于raft集群节点数量阈值,且所述节点数量为奇数的情况下,向所述领导节点发送所述加入请求;或者在所述节点数量大于1,所述节点数量小于或者等于raft集群节点数量阈值,且所述节点数量为偶数的情况下,将所述新增节点存储的raft集群配置修改为第三配置,所述第三配置用于指示所述新增节点为临时监听节点;
8.根据权利要求6所述的数据同步集群,其特征在于,所述数据同步集群具有节点列表,所述节点列表中各节点的节点信息,按照各所述节点加入所述数据同步集群的顺序排列;
9.一种数据同步方法,其特征在于,数据同步集群包括raft集群和监听节点,所述raft集群包括领导节点和跟随节点,所述方法应用于所述监听节点,包括:
10.一种数据同步装置,其特征在于,数据同步集群包括raft集群和监听节点,所述raft集群包括领导节点和跟随节点,所述装置应用于所述监听节点,包括:
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求9所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求9所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求9所述的方法的步骤。
...【技术特征摘要】
1.一种数据同步集群,其特征在于,所述数据同步集群包括raft集群和监听节点,所述raft集群包括领导节点和跟随节点,其中,
2.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于在监听到所述raft集群中的跟随节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,向所述领导节点发送加入请求;
3.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于在监听到所述raft集群中的领导节点从所述数据同步集群中移除、且所述监听节点满足递补条件的情况下,向各所述跟随节点发送投票请求;
4.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于在加入所述raft集群后,基于所述监听节点存储的业务数据,向所述领导节点发送数据同步请求;
5.根据权利要求1所述的数据同步集群,其特征在于,所述监听节点还用于接收业务请求,并基于所述业务请求向所述领导节点发送业务处理请求;
6.根据权利要求2所述的数据同步集群,其特征在于,在新增节点加入所述数据同步集群后,所述新增节点用于获取所述数据同步集群的节点数量,若所述节点数量为1,则将所述新增节点存储的raft集群配置修改为第一配置,所述第一配置用于指示所述监听节点为领导节点;或者若所述节点数量大于1,且所述节点数量小于或者等于raft集群节点数量阈值,则所述新增节点向所述领导节点发送所述加入请求;或者若所述节点数量大于所述raft集群节点数量阈值,则将所述新增节点存储的raft集群配置修改为第二配置,所述第二配置用于...
【专利技术属性】
技术研发人员:齐敦伟,
申请(专利权)人:行吟信息科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。