[发明专利]一种基于RabbitMQ处理延迟任务的方法及工具在审

专利信息
申请号: 202110789958.3 申请日: 2021-07-13
公开(公告)号: CN113542113A 公开(公告)日: 2021-10-22
发明(设计)人: 徐士强;魏金雷;杨继伟 申请(专利权)人: 浪潮云信息技术股份公司
主分类号: H04L12/705 分类号: H04L12/705;H04L12/875
代理公司: 济南信达专利事务所有限公司 37100 代理人: 冯春连
地址: 250100 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 rabbitmq 处理 延迟 任务 方法 工具
【权利要求书】:

1.一种基于RabbitMQ处理延迟任务的方法,其特征在于,该方法包括:

步骤S1、基于RabbitMQ,设置消息有效期TTL;

步骤S2、基于RabbitMQ,配置死信交换机DLX,并基于路由关键字routingKey创建死信队列,实现死信交换机DLX与死信队列的绑定;

步骤S3、针对死信队列,采用策略模式为消息选择消费者;

步骤S4、执行完前三个步骤后,当被消费者处理失败的消息通过延迟交换机发送到延迟队列时,消息在延迟队列到期后通过死信交换机DLX自动转发到与消息携带的路由关键字routingKey相匹配的死信队列中,随后采用策略模式为死信队列的消息选择消费者。

2.根据权利要求1所述的一种基于RabbitMQ处理延迟任务的方法,其特征在于,设置消息有效期TTL,即设置消息的存活时间,其涉及队列的存活时间和消息本身的存活时间;

(a)如果消息本身的存活时间大于消息所在队列的存活时间,那么消息本身的存活时间取决于其所在队列的存活时间,

(b)如果消息本身的存活时间小于消息所在队列的存活时间,那么消息到达本身的存活时间后变成死信。

3.根据权利要求2所述的一种基于RabbitMQ处理延迟任务的方法,其特征在于,通过在basic.publish方法中加入expiration的参数属性,单位ms,来设置消息有效期TTL,具体设置方案包括以下两种:

(1)直接对AMQP的基础属性设置有效期,即对AMQP.BasicProperties的expiration参数设置值,此时,在消息本身的存活时间小于消息所在队列的存活时间的前提下,消息到达有效期即从所在队列中抹去;

(2)通过方法调用对AMQP的基础属性塞值,实现有效期的设置,此时,在消息本身的存活时间小于消息所在队列的存活时间的前提下,消息即使达到有效期,也不会马上在其所在的队列中抹去,且消息是否达到有效期是在消息即将投递到消费者之前判定的。

4.根据权利要求1所述的一种基于RabbitMQ处理延迟任务的方法,其特征在于,配置死信交换机DLX,并基于路由关键字routingKey创建死信队列后,一个消息满足如下任一条件时,不会被自动转发到死信队列中:

(1)一个消息被Consumer拒收了,并且reject方法的参数里requeue是false;

(2)一个消息被Consumer拒收了,且达到了设置的消息有效期TTL;

(3)死信队列的长度限制满了,排在前面的消息会被丢弃或者扔到死信交换机DLX上。

5.根据权利要求1所述的一种基于RabbitMQ处理延迟任务的方法,其特征在于,配置死信交换机DLX,并基于不同路由关键字routingKey的组合创建多个死信队列,此时,一个死信交换机DLX绑定多个死信队列。

6.根据权利要求1所述的一种基于RabbitMQ处理延迟任务的方法,其特征在于,当死信队列的消息被消费者重新消费时,消息确认机制开启,也就是说,延迟队列向死信队列发送到期消息时,在接受到死信队列的确认信息之前,延迟队列不会删除该条到期消息;如果特殊情况下服务器宕机,死信队列已收到到期消息,但死信队列没有ack,那么同样的到期消息将会同时出现在延迟队列和死信队列中。

7.根据权利要求1所述的一种基于RabbitMQ处理延迟任务的方法,其特征在于,采用策略模式为消息选择消费者,具体操作为:

定义策略接口,使用时实现策略接口的处理方法消费消息;

采用Spring自带的applicationContext,使用时将处理类按照预设的名称与自动注入的处理类对应,拿到对应的处理类对消息进行消费。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110789958.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top