[发明专利]一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法有效
申请号: | 201910423799.8 | 申请日: | 2019-05-21 |
公开(公告)号: | CN110224922B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 宋涛;陈剑波 | 申请(专利权)人: | 成都路行通信息技术有限公司 |
主分类号: | H04L51/18 | 分类号: | H04L51/18;H04L51/23;H04L51/234 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 韩雪 |
地址: | 610041 四川省成都市高新*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 rabbitmq 异步 消息 重试 方法 系统 构建 | ||
1.一种基于RabbitMQ的消息重试系统的异步消息重试方法,所述基于RabbitMQ的消息重试系统的构建方法包括以下步骤:A.分别创建第一交换、第二交换和第三交换,其中,发布的消息投递到第一交换,处理异常的消息投递到第二交换,处理失败的消息投递到第三交换;所述处理异常的消息是指重试次数未超过预定上限次数的消息,所述处理失败的消息是指重试次数超过所述预定上限次数的消息;B.分别创建第一队列、第二队列和第三队列,其中,第一队列用于存放发布的消息,第二队列用于存放处理异常的消息,第三队列用于存放处理失败的消息;C.将第一队列绑定到第一交换,将第二队列绑定到第二交换,设置第二队列匹配所有路由匙,将第三队列绑定到第三交换,设置第三队列的路由匙匹配于对应的第三队列;
其特征在于,所述方法包括以下步骤:
S1.生产者发布消息到第一交换;
S2.所述第一交换根据路由匙将消息分发到对应的第一队列;
S3.消费者对所述第一队列中的消息进行消费;
S4.消息消费后,消费者向第一队列反馈处理成功与否,如果处理成功则结束流程,否则执行以下步骤;
S5.获取消息的重试次数,判断其是否超过设定的预定上限次数,若是,则执行步骤S7,否则,将消息投递到第二交换,第二交换的路由匙等于消息对应的第一队列的队列名字;
S6.第二队列在消息过期后,重新将消息投递到队列名字为消息对应路由匙的第一队列中;
S7.将消息投递给第三交换的第三队列待人工处理。
2.如权利要求1所述的异步消息重试方法,其特征在于,所述人工处理后,还包括:
S8.待人工介入处理第三队列中的消息后,重新将消息投递到第一队列,即可将消息重新消费。
3.如权利要求1所述的异步消息重试方法,其特征在于,所述消息的过期时间设定点为:在S5中将消息投递到第二交换前设定。
4.如权利要求1所述的异步消息重试方法,其特征在于,过期时间等于当前重试间隔。
5.如权利要求1~4任一所述的异步消息重试方法,其特征在于,所述S7中,将消息投递给第三交换的第三队列时或之后,触发报警机制,以通知相关责任人进行人工处理。
6.如权利要求1~4任一所述的异步消息重试方法,其特征在于,所述S6具体为:第二队列在执行延时设定后,将消息投递到默认交换,默认交换再将消息重新投递到队列名字为消息附带路由匙的第一队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都路行通信息技术有限公司,未经成都路行通信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910423799.8/1.html,转载请声明来源钻瓜专利网。