【技术实现步骤摘要】
分布式数据库的负载均衡方法和装置
本申请实施例涉及计算机
,具体涉及分布式数据库的负载均衡方法和装置。
技术介绍
现有的分布式数据库为了确保集群数据的高可靠性,通常需要建设跨机房的主从集群灾备模式(即分布式数据库包括主节点集群和用于灾备的从节点集群),并对主从集群进行实时数据同步。目前,分布式数据库的主从集群的数据同步往往不考虑集群节点同步性能的问题,因此若主从集群中某从节点灾备同步速度较慢,往往会导致数据同步任务的积压。进一步地,若数据同步任务积压情况严重,还会导致主从集群中的数据在较长时间内的不一致的风险,从而影响分布式数据库的灾备效果。
技术实现思路
本申请实施例提出了分布式数据库的负载均衡方法和装置。第一方面,本申请实施例提供了一种分布式数据库的负载均衡方法,其中,分布式数据库包括主节点集群和用于灾备的从节点集群,该方法包括:响应于检测出主节点集群中的部分主节点存在待同步任务量增长的情况,从主节点集群中选择待同步任务量大于第一预设阈值的第一主节点以生成积压处理队列;从主节点集 ...
【技术保护点】
1.一种分布式数据库的负载均衡方法,其中,所述分布式数据库包括主节点集群和用于灾备的从节点集群,所述方法包括:/n响应于检测出所述主节点集群中的部分主节点存在待同步任务量增长的情况,从所述主节点集群中选择待同步任务量大于第一预设阈值的第一主节点以生成积压处理队列;/n从所述主节点集群中选择待同步任务量小于第二预设阈值的第二主节点以生成均衡替换队列,其中,所述第一主节点的数目小于或等于所述第二主节点的数目;/n针对所述积压处理队列中的第一主节点,从所述均衡替换队列中选取与该第一主节点对应的第二主节点,将所选取的第二主节点的数据分区和该第一主节点的数据分区进行交换,响应于确定出 ...
【技术特征摘要】
1.一种分布式数据库的负载均衡方法,其中,所述分布式数据库包括主节点集群和用于灾备的从节点集群,所述方法包括:
响应于检测出所述主节点集群中的部分主节点存在待同步任务量增长的情况,从所述主节点集群中选择待同步任务量大于第一预设阈值的第一主节点以生成积压处理队列;
从所述主节点集群中选择待同步任务量小于第二预设阈值的第二主节点以生成均衡替换队列,其中,所述第一主节点的数目小于或等于所述第二主节点的数目;
针对所述积压处理队列中的第一主节点,从所述均衡替换队列中选取与该第一主节点对应的第二主节点,将所选取的第二主节点的数据分区和该第一主节点的数据分区进行交换,响应于确定出该第一主节点中的待同步任务量减少,从所述积压处理队列中去除该第一主节点。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在所述主节点集群的主节点中构建同步任务队列,其中,所述同步任务队列用于缓存待同步任务;
针对所述主节点集群中的主节点,响应于检测出该主节点中的同步任务对队列存在待同步任务量在预设时间段内持续增加的情况,确定该主节点存在待同步任务量增长的情况。
3.根据权利要求1所述的方法,其中,在响应于检测出所述主节点集群中的部分主节点存在待同步任务量增长的情况,从所述主节点集群中选择待同步任务量大于第一预设阈值的第一主节点以生成积压处理队列之前,所述方法还包括:
检测所述主节点集群中的主节点的待同步任务;
确定本次检测所述主节点集群中的主节点的待同步任务的时刻和上一次检测所述主节点集群中的主节点的待同步任务的时刻之间的时间差;
响应于确定出所述时间差大于第三预设阈值,确定所述主节点集群中是否存在部分主节点的待同步任务量增长的情况。
4.根据权利要求1所述的方法,其中,所述响应于检测出所述主节点集群中的部分主节点存在待同步任务量增长的情况,从所述主节点集群中选择待同步任务量大于第一预设阈值的第一主节点以生成积压处理队列,包括:
响应于检测出所述主节点集群中的部分主节点存在待同步任务量增长的情况,确定所述主节点集群是否被划分为至少两个分组;
响应于确定出所述主节点集群被划分为至少两个分组,检测所述至少两个分组中的所有主节点的待同步任务量增长的情况;
从所述至少两个分组中确定出存在部分主节点待同步任务量增长的第一分组,生成主节点列表,其中,所述主节点列表为由所述第一分组中待同步任务量增长的主节点所构成的;
从所述主节点列表中选择待同步任务量大于第一预设阈值的第一主节点以生成积压处理队列。
5.根据权利要求1所述的方法,其中,所述针对所述积压处理队列中的第一主节点,从所述均衡替换队列中选取与该第一主节点对应的第二主节点,将所选取的第二主节点的数据分区和该第一主节点的数据分区进行交换,包括:
针对所述积压处理队列中的第一主节点,响应于确定出该第一主节点为所述积压处理队列中待同步任务量最大的第一主节点,从所述均衡替换队列中选取积压任务量最小的第二主节点;将所选取的第二主节点确定为与该第一主节点对应的第二主节点,在该第一主节点中确定出待同步任务量最大的数据分区,在与该第一主节点对应的第二主节点中确定出待同步任务量最小的数据分区;将所确定出的第一主节点的数据分区和所确定出的第二主节点的数据分区进行交换。
6.根据权利要求1-5之一所述的方法,其中,所述方法还包括:
响应于确定出所述积压处理队列为空,在所述主节点集群中重新选择待同步任务量大于第一预设阈值的第一主节点。
7.一种分布式数据库的负载均衡装置,其中,所述分布式数据库包括主节点集群和用于灾备的从节点集群,...
【专利技术属性】
技术研发人员:杨全文,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。