[发明专利]一种用于消息队列的自动扩容方法及装置在审
| 申请号: | 202110859802.8 | 申请日: | 2021-07-28 |
| 公开(公告)号: | CN113609071A | 公开(公告)日: | 2021-11-05 |
| 发明(设计)人: | 刘彬 | 申请(专利权)人: | 北京金山云网络技术有限公司 |
| 主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F16/13;G06F16/17;G06F16/182;G06F9/54 |
| 代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 曾军;韩来兵 |
| 地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 消息 队列 自动 扩容 方法 装置 | ||
本申请涉及一种用于消息队列的自动扩容方法及装置。其中,方法包括:获取目标消息队列中每个候选分区的负载;根据每个所述候选分区的负载以及目标负载阀值,判断所述候选分区中是否存在高负载分区,其中,所述高负载分区的负载高于所述目标负载阀值;在确定存在至少一个所述高负载分区的情况下,生成用于对所述目标消息队列进行分区扩容的目标指令;按照所述目标指令,在所述目标消息队列中增加至少一个新增分区。通过本实施例中的方法,可以在目标消息队列中存在高负载分区的情况下,自动触发对该目标消息队列增加至少一个新增分区,进而可以提高目标消息队列的负载能力,并且便于后期通过新增分区分担高负载分区的负载目的。
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于消息队列的自动扩容方法及装置。
背景技术
消息队列是一种消息传输的中间件,常用于各个系统之间的解耦、数据转发、异步通信、流量削峰的场景;其中,支持发布/订阅(publish/subscribe,简称pub/sub)的topic消息传递模型为一种广泛使用的能够广播的消息队列模型,topic消息传递模型中包括生产者(producer)、主题(topic,即消息队列)、分区(partition)、消费者(consumer)。
在相关技术中的消息队列的组件,对于分区的扩容(例如,当前的分区数为1,因为要承载更大的数据量级,需要将分区修改为2或者3甚至更大)只能通过手动的去调用消息队列的命令或者通过修改配置文件的方式来实现,因此需要人工对消息队列的负载进行监测,以达到及时进行分区扩容的目的。
相关技术中采用人工对消息队列进行分区扩容由于无法自适应弹性扩容,因此存在扩容效率低下的技术问题。
针对相关技术的消息队列中存在扩容效率低下的技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述消息队列中存在扩容效率低下的技术问题,本申请提供了一种用于消息队列的自动扩容方法及装置。
第一方面,本申请实施例提供了一种用于消息队列的自动扩容方法,包括:
获取目标消息队列中每个候选分区的负载;
根据每个所述候选分区的负载以及目标负载阀值,判断所述候选分区中是否存在高负载分区,其中,所述高负载分区的负载高于所述目标负载阀值;
在确定存在至少一个所述高负载分区的情况下,生成用于对所述目标消息队列进行分区扩容的目标指令;
按照所述目标指令,在所述目标消息队列中增加至少一个新增分区。
可选地,如前述的方法,所述根据每个所述候选分区的负载以及目标负载阀值,判断所述候选分区中是否存在高负载分区包括:
在所述候选分区的负载指示所述候选分区的数据负载大于或等于目标数据负载阀值,或所述候选分区的计算资源负载大于或等于目标计算资源负载阀值的情况下,将所述候选分区确定为所述高负载分区。
可选地,如前述的方法,在所述在确定存在至少一个所述高负载分区的情况下,生成用于对所述目标消息队列进行分区扩容的目标指令之前,所述方法还包括:
在除所述高负载分区之外的所有所述候选分区中,确定出目标低负载分区;
确定所述目标低负载分区的目标分区标识。
可选地,如前述的方法,所述按照所述目标指令,在所述目标消息队列中增加至少一个新增分区包括:
按照所述目标分区标识,将所述目标指令发送至所述目标低负载分区;
在所述目标低负载分区执行所述目标指令之后,在所述目标低负载分区所在的目标节点中增加至少一个所述新增分区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山云网络技术有限公司,未经北京金山云网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110859802.8/2.html,转载请声明来源钻瓜专利网。





