RabbitMQ稍后在消费者之外确认消息



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

我不确定是否有内置功能来实现您正在寻找的功能,但我猜您可以这样处理:

  • 创建3个rabbitmq队列:一个用于"控制台应用程序",一个用于"缓冲区",一个用于"确认应用程序">
  • 确保在"控制台应用程序"中发布传入消息;和";buffer"使用正确路由和绑定键的队列
  • 配置"buffer"队列向"确认队列"发送消息;使用Rabbitmq TTL选项(带死信交换)

这样,你将得到:

  • 传入消息被复制到两个队列
  • 控制台应用程序可以立即从第一个队列中消费(并确认)消息
  • 第二个队列充当缓冲区,在将消息发送到第三个队列之前保存消息一会儿
  • 随后,来自第三个队列的消息被"确认"。

文档引用:

<
  • 路由消息/gh>
  • Rabbitmq TTL
  • Rabbitmq死信交换

相关内容

  • 没有找到相关文章

最新更新