我在docker上使用rabbitMQ。
执行rabbitmq时,我想设置消息持久性(durable/transient)
有没有办法设置耐久性? (声明队列和交换时除外)
答案 0 :(得分:1)
是的,可以为任何已发布的消息指定 delivery-mode 消息属性。但是,目标队列必须也是持久的,以便保留消息。
请参阅RabbitMQ中的消息属性和有效负载章节documenation:
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
简单发布一个 消息到持久交换或队列的事实 路由到持久不会使消息持久:这一切 取决于消息本身的持久性模式。发布消息 持久影响性能(就像数据存储一样, 耐久性在性能上有一定的成本。)