标签: java spring-boot rabbitmq cloudfoundry pivotal-cloud-foundry
我在关键的云代工厂中部署了一个spring boot应用程序。我有4个应用程序运行实例。应用程序在RabbitMQ中消耗来自队列的消息并进行进一步处理。如果我在RabbitMQ中将队列的消费者数量设置为40,那么40个消费者是否会在正在收听的应用程序中平均分配?
答案 0 :(得分:4)
来自文档here:
默认情况下,RabbitMQ将按顺序将每条消息发送给下一个消费者。平均而言,每个消费者将获得相同数量的消息。这种分发消息的方式称为循环法
要回答您的问题,您的应用程序之间的负载大致相等。
来自here的另一个支持代码段:
直接交换通常用于以循环方式在多个工作者(同一应用程序的实例)之间分配任务。这样做时,重要的是要理解,在AMQP 0-9-1中,消息在消费者之间而不是在队列之间进行负载平衡。