2

我在docker上使用rabbitMQ。
执行rabbitmq时,我想设置消息持久性(durable/transient)
有没有办法设置持久性?(声明队列和交换时除外)

4

1 回答 1

1

是的,可以为任何已发布的消息指定 传递模式消息属性。但是,目标队列也必须是持久的,才能使消息持久化。

请参阅RabbitMQ 文档中的消息属性和有效负载一章:

AMQP 模型中的消息具有属性。某些属性非常常见,以至于 AMQP 0-9-1 规范定义了它们,应用程序开发人员不必考虑确切的属性名称。一些例子是

Content type
Content encoding
Routing key
Delivery mode (persistent or not)
Message priority
Message publishing timestamp
Expiration period
Publisher application id

简单地将消息发布到持久交换或它路由到的队列是持久的这一事实并不能使消息持久化:这完全取决于消息本身的持久性模式。将消息作为持久性发布会影响性能(就像数据存储一样,持久性是以一定的性能成本为代价的)。

于 2016-11-09T22:14:37.143 回答