码迷,mamicode.com
首页 > 其他好文 > 详细

RabbitMQ 利用消息超时和死信交换机实现定时任务

时间:2018-03-12 15:11:08      阅读:1339      评论:0      收藏:0      [点我收藏+]

标签:http   gpo   消费   com   分享图片   一个   class   需求   alt   

  在 RabbitMQ 的基础功能中,并没有定时任务或者延时任务这种功能,然而很多业务都有此类需求,但是我们可以依赖 RabbitMQ 的消息自动超时和死信交换机等基本的属性来实现这类需求,大致思路如下:

  1.通过计算 任务执行时间 和 当前时间的时间差,作为消息的超时时间(Expire)属性;

  2.将消息发到一个具有死信交换机的队列中暂时缓存消息;

  3.消息在缓存队列中到达超时时间,自动发送到死信交换机,从而到达任务目标队列,由消费者进行消费;

  流程图如下:

技术分享图片   

RabbitMQ 利用消息超时和死信交换机实现定时任务

标签:http   gpo   消费   com   分享图片   一个   class   需求   alt   

原文地址:https://www.cnblogs.com/malcolmfeng/p/8548961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!