从RabbitMQ队列中读取大量消息的最佳方法是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从RabbitMQ队列中读取大量消息的最佳方法是什么?相关的知识,希望对你有一定的参考价值。

我正在编写Python脚本cron-job,它定期从RabbitMQ获取更新并处理它们。每次我处理它们时,我只需要获取RMQ队列的当前快照。我使用queue_declare来获取其中的消息数量。我知道如何使用basic_get逐个获取消息。此外,我可以使用basic_consume / start_consuming并在后台获取消息,将它们存储在某个列表中并定期从该列表中获取,但是如果脚本失败并出现一些错误怎么办?我将丢失列表中的所有阅读消息。此外,我可以使用少量消费者(RMQ的连接池)并逐个获取消息。也许有其他方法可以做到这一点?

所以,我的问题是 - 从RabbitMQ队列获取当前消息的最佳方式(即安全和快速)是什么?

答案

消费消息的最佳方式是使用basic_consumebasic_get很慢

以上是关于从RabbitMQ队列中读取大量消息的最佳方法是什么?的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ学习第一记:用java连接RabbitMQ

RabbitMQ管理台Purge大量消息堆积队列风险

求助,rabbitmq读取消息队列的问题

RabbitMQ消息队列:任务分发机制

Flume 读取RabbitMq消息队列消息,并将消息写入kafka

消息队列之RabbitMQ