我对RabbitMQ持久队列(即delivery_mode = 2)的理解是,它们在内存中运行,但消息被刷新到磁盘,以便在进程重新启动或机器重新启动时可以恢复。
虽然我不清楚当机器内存不足时的预期行为是什么。如果队列超载,死了,需要恢复,那么简单地从磁盘支持的存储加载消息将消耗所有可用的RAM。
在这种情况下,持久队列是否只将消息的子集加载到RAM中?
发布于 2015-05-18 23:47:17
当内存填满时,RabbitMQ会将消息分页到光盘上。请参阅https://www.rabbitmq.com/memory.html小节“配置寻呼阈值”。
https://stackoverflow.com/questions/12064802
复制