关于rabbitmq:RabbitMQ死信队列的场景应用

95次阅读

共计 716 个字符,预计需要花费 2 分钟才能阅读完成。

前言:

之前也通过文章介绍过 rabbitMQ 的搭建以及在 PHP 开发场景下的一些应用。这个次要从 rabbitMQ 的 web 控制台介绍死信队列的操作,以及代码层面的小利用等。对于死信的原理,rabbitMQ 的个性等能够在其余文章中找到,这里就不具体介绍了。

场景:

死信的场景次要是用于来实现提早队列,比方之前介绍的 redis 订阅的过期事件。都是用于在将来某个时间段须要对某些数据进行操作 (删除 / 更新),就比方某些订单创立胜利后增加到一个队列中。程序生产掉一部分曾经领取过的订单,而那些未领取状态并且超过 30 分钟(举例的超时工夫) 就将其放入到提早队列进行批量解决。

死信队列概述:

能够把死信队列了解为过滤后的水池,后面的队列就像负责接水的大水池,只有当大水池满了或者过滤筛选过的水才会流入小水池。最初小水池的水再进行饮用或者应用。

流程:

  1. 创立 1 个死信交换机 (失常创立即可) 和一个死信队列(失常创立),二者通过路由键绑定。

2. 创立 1 个业务交换机,创立一个业务队列,队列关联一个死信交换机及与交换机绑定的一个死信队列路由键。

  1. 最初将业务交换机与业务队列绑定。
  2. 代码只须要对生产音讯到业务队列,生产死信队列的音讯就能够。

步骤:1. 通过搭建的地址 xxx.xxx.xxx.xxx:15672 进入 rabbitMQ 的 web 控制台,新建虚拟机并进入。

  1. 新建死信交换机和死信队列,如下的 ex_dlx,queue_dlx。
  1. 新建业务交换机,和业务队列,队列关联死信交换机。

  1. 用代码生产一条音讯,而后查看业务队列是否有新音讯。

  1. 两分钟后 (创立队列时设置) 查看死信队列是否有音讯进来,以下示意死信队列曾经有新音讯。

  1. 最初对死信队列的音讯用代码进行生产了,示意曾经过期的数据。
正文完
 0