[发明专利]消息队列调度方法及其装置、设备、介质、产品在审
| 申请号: | 202111315765.0 | 申请日: | 2021-11-08 |
| 公开(公告)号: | CN114138506A | 公开(公告)日: | 2022-03-04 |
| 发明(设计)人: | 林晓发 | 申请(专利权)人: | 广州华多网络科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48 |
| 代理公司: | 广州利能知识产权代理事务所(普通合伙) 44673 | 代理人: | 王增鑫 |
| 地址: | 511442 广东省广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 消息 队列 调度 方法 及其 装置 设备 介质 产品 | ||
本申请公开一种消息队列调度方法及其装置、设备、介质、产品,所述方法包括:根据消息系统配置信息创建相应的原始消息队列,使其用于流通生产者所添加的消息体;依次控制所述原始消息队列操作其中的消息体的出列,使出列的消息体被预注解订阅的消费者线程消费;监听所述原始消息队列的消息体的存续时长,将其中超时未出列的消息体转移至重试消息队列等候出列消费;监听重试消息队列的消息体的超时重试次数,将其中超时未出列达到预设次数的消息体转移至死信消息队列,以终止对该消息体的消费。本申请按梯度对无响应的消息体先后进行重试和停止处理,既避免消息体可能导致原始消息队列阻塞,又能实现对无响应消息的有序调度。
技术领域
本申请涉及消息队列调度技术,尤其涉及一种消息队列调度方法及其相应的装置、计算机设备、计算机可读存储介质,以及计算机程序产品。
背景技术
服务集群内或服务集群之间,服务器到服务器之间的消息传递依赖于消息系统的支持,消息的生产者与消费者之间需要实现绑定,以便消费者可以订阅生产者的消息体。生产者的消息体通过消息系统为其提供的消息队列按序出列提供给相应的消费者相应的线程消费。在消息系统中,可能同时存在多个分别服务于不同消费者的消息队列,各个消息队列均可独立按需配置,相互之间并行不悖。
在一个消息队列内部,因各种原因所致,有时候会出现消息体无法有效出列的情况,这种情况下,如果不及时为之调度,将导致消息队列阻塞,从而影响其他消息体的正常消费,甚至导致相关上下游服务的崩溃。
现有技术中,实现消息队列防阻塞的方案多种多样,各有千秋,但所采用的手段略显粗暴,通常是直接将相关超时存续的消息体清除出消息队列中,不能兼容各种可能的容灾情况,因此,往往美中不足。
对于服务于海量的在线服务的消息系统而言,由于其需要服务于多个在线服务,因而一个强健的消息队列调度方案尤为重要,以便使每个在线服务均可高度信赖于该消息系统而工作,相应的需求应用场景中,可以是诸如电商平台系统之类的需要确保即时响应能力的服务系统,此类服务系统对消息系统的稳健性的依赖尤为严肃,有鉴于此,本申请人做出相应的探索。
发明内容
本申请的首要目的在于解决上述问题至少之一而提供一种消息队列调度方法及其相应的装置、计算机设备、计算机可读存储介质、计算机程序产品。
为满足本申请的各个目的,本申请采用如下技术方案:
适应本申请的目的之一而提供的一种消息队列调度方法,包括如下步骤:
根据消息系统配置信息创建相应的原始消息队列,使其用于流通生产者所添加的消息体;
依次控制所述原始消息队列操作其中的消息体的出列,使出列的消息体被预注解订阅的消费者线程消费;
监听所述原始消息队列的消息体的存续时长,将其中超时未出列的消息体转移至重试消息队列等候出列消费;
监听重试消息队列的消息体的超时重试次数,将其中超时未出列达到预设次数的消息体转移至死信消息队列,以终止对该消息体的消费。
扩展的实施例中,依次控制所述原始消息队列操作其中的消息体的出列的步骤之前,包括:
获取注解文件,根据预定的注解标记识别消费者与生产者的对应关系;
确定所述生产者相对应的原始消息队列;
将所述消费者添加为所述生产者相对应的原始消息队列的消费者。
深化的实施例中,监听所述原始消息队列的消息体的存续时长,将其中超时未出列的消息体转移至重试消息队列等候出列消费,包括如下步骤:
计算每个消息体处于其所在的原始消息队列中的存续时长,比较该存续时长是否超过预设阈值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华多网络科技有限公司,未经广州华多网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111315765.0/2.html,转载请声明来源钻瓜专利网。





