我对RabbitMQ非常陌生,所以这可能是我所缺少的东西。我的“问题”是,我的应用程序将使用发布/订阅和交换通过RabbitMQ发送“事件”。但是,这些事件可能有消费者,也可能没有消费者,但一旦有了消费者,我希望该消费者获得在连接之前发生的任何事件/消息。因此,基本上我希望交换“缓冲”所有消息,一旦有一个队列绑定到交换(由消费者创建和绑定的队列),交换就应该将所有缓冲的消息推送到该队列,供消费者使用。好吧..。消费。
我读过关于“备用交换”的文章,它并没有真正做我所描述的事情,根据我的理解,它所做的一切就是将所有消息从原始交换转发到备用交换,然后备用交换将消息发布到它的队列中供消费者使用(所以没有太多的“缓冲”)。
我的目标可以通过简单地配置RabbitMQ来实现吗?或者有没有其他的“文档化”模式来实现我的目标?
发布于 2021-06-30 20:28:42
为了“缓冲”消息,您必须声明一个队列并从交换中路由它。
有没有消费者并不重要,你可以将队列定义为auto-delete=false,即使没有连接消费者,它也会保留它。
您还可以将其设置为durable=true,以便它在代理重新启动后仍然有效。
https://stackoverflow.com/questions/68191582
复制相似问题