AMQP 使用队列和交换。您在交换中发布并绑定队列以从交换中获取消息(您可以在我的博客上看到一个简短的解释。当您创建队列时,您可以将其设置为自动删除以及在它之前将保持多长时间未使用自动删除。这是来自 RabbitMQ quickref 的引用:
queue.declare(short reserved-1,queue-name queue,位被动,位持久,位排他,位自动删除,无等待无等待,表参数)➔ 声明确定
支持:完整的声明队列,根据需要创建。
此方法创建或检查队列。在创建新队列时,客户端可以指定控制队列及其内容的持久性以及队列共享级别的各种属性。
RabbitMQ 实现了对 AMQP 规范的扩展,允许队列的创建者控制其行为的各个方面。
每队列消息 TTL 此扩展确定发布到队列的消息在被服务器丢弃之前可以存活多长时间。使用此方法的 arguments 参数的 x-message-ttl 参数配置生存时间。
队列到期队列可以用可选的租用时间声明。租用时间决定了一个队列在被服务器自动删除之前可以保持多长时间未被使用。租用时间在此方法的 arguments 参数中作为 x-expires 参数提供。
镜像队列我们为队列开发了主动/主动高可用性。这是通过允许在 RabbitMQ 集群中的其他节点上镜像队列来实现的。结果是如果集群的一个节点发生故障,队列可以自动切换到其中一个镜像并继续运行,而不会出现服务不可用的情况。要创建镜像队列,请在该方法的 arguments 参数中提供一个 x-ha-policy 参数。