RabbitMQ在稍后阶段确认消费者外部的消息

hgncfbus  于 2022-11-23  发布在  RabbitMQ
关注(0)|答案(1)|浏览(129)

使用RabbitMQ是否可以直接使用deliverytag来确认消息?我的目标不是创建一个消费者或订阅者(pub/sub)来读取消息并确认它们,而是读取消息并在稍后阶段对它们进行处理并确认它们

dnph8jn4

dnph8jn41#

我不确定是否有一个内置的功能来实现你所寻找的,但我想你可以这样处理它:

  • 创建3个rabbitmq队列:一个用于“控制台应用”,一个用于缓冲,一个用于“确认应用”
  • 确保使用正确的路由和绑定密钥在“控制台应用程序”和“缓冲区”队列中发布传入消息
  • 使用Rabbitmq TTL选项(具有死信交换)配置“缓冲”队列,以在延迟后将消息传输到“确认队列”

这样,您将拥有:

  • 传入消息复制到两个队列中
  • 控制台应用程序可以立即从第一个队列使用(和确认)消息
  • 第二个队列充当缓冲区,在将消息发送到第三个队列之前,将消息保存一段时间
  • 稍后,来自第三个队列的消息将由您的应用“确认”。

文件参考:

相关问题