0

我有一个从 RabbitMQ 读取消息的分布式系统。在我现在的情况下,我需要处理不超过 N msgs/s。

例如:想象一下A发送短信 (SMS) 的服务。该服务只能处理 100 msgs/s。我的系统有多个从 RabbitMQ 读取数据的消费者。每条消息都需要先处理,然后发送到服务A。处理时间总是不同的。

所以问题:

  • 是否可以将队列配置为向多个消费者分派不超过 100 msgs/s 的速度?
4

1 回答 1

2

您可以使用qosprefetch_size方法的参数来限制消费者的吞吐量。

channel.basic_qos(100);

另见:http ://www.rabbitmq.com/blog/2012/05/11/some-queuing-theory-throughput-latency-and-bandwidth/

于 2013-07-13T19:59:17.613 回答