首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扇形交换场景中RabbitMQ队列磁盘空间的使用

扇形交换场景中RabbitMQ队列磁盘空间的使用
EN

Stack Overflow用户
提问于 2016-03-31 12:51:33
回答 1查看 742关注 0票数 0

如果RabbitMQ broker有一个具有多个队列绑定的扇出交换,其中队列是持久的,并且传递给交换的消息是持久的/持久的,那么每个队列是否会为消息存储一个单独的副本,或者代理可能会发现并优化排队消息持久性,而不是在扇出中多次存储每个队列的有效负载,而是存储类似于消息链接/引用之类的内容?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-01 20:37:23

这取决于消息的大小。对于持久性,每个接收消息的持久队列都有一个引用该消息的队列索引。较大的消息(默认情况下为>= 4K )将被写入消息存储区并由队列索引引用。因此,绑定到扇出交换的每个队列都有消息的队列索引,但消息存储中只有一个消息有效负载副本。

较小的消息将完全存储在队列索引中,消息存储区中没有条目。如果您的扇出交换接收到一条小消息,那么每个绑定队列都将拥有它自己的整个消息副本。

RabbitMQ消息持久性的一个很好的解释可以在https://www.rabbitmq.com/persistence-conf.html上找到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36334049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档