最佳答案
我是 RabbitMQ 的新手。
我已经建立了一个“话题”交流。消费者可以在发布者之后开始。我希望消费者能够接收在它们启动之前已经发送的消息,而这些消息还没有被消费。
交换机的设置参数如下:
exchange_type => 'topic'
durable => 1
auto_delete => 0
passive => 0
这些消息使用以下参数发布:
delivery_mode => 2
消费者使用 get ()从交换中检索消息。
不幸的是,在任何客户端启动之前发布的任何消息都会丢失。
我想我的问题是,交流不持有消息。也许我需要在发布者和消费者之间建立一个队列。但是这似乎不适用于通过密钥路由消息的“主题”交换。
我应该如何继续? 我使用 Perl
绑定 Net::RabbitMQ
(应该无关紧要)和 RabbitMQ 2.2.0
。