RabbitMQ DirectMessageListenerContainer中的消费者 - Cloud Foundry中的内存影响

问题描述 投票:0回答:1

我有一个场景,我在DirectMessageListenerContainer bean中为队列创建预定义的使用者,如下所示:

@Bean
public DirectMessageListenerContainer directMessageListenerContainer(ConnectionFactory conn, DynamicTenantListenerCreator listener){
    DirectMessageListenerContainer factory = new DirectMessageListenerContainer();
    factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
    factory.setConnectionFactory(conn);
    factory.setConsumersPerQueue(5);
    factory.setMessageListener(listener);
    return factory;
}

根据我的理解,这将为每个在不同通道上工作的队列分配5个消费者。例如,如果我向这个bean添加5个队列,那么在5个不同的通道上消耗的总数将为25。我的问题是:

  1. 在Cloud Foundry中,闲置消费者对CPU的影响是什么?如果某些队列的消息较少,那么应用程序的性能是否会受到影响,因为会有一些空闲的消费者?
  2. 有没有办法分别定义每个队列的特定消费者数量?

提前致谢

spring-boot rabbitmq cloudfoundry spring-amqp
1个回答
0
投票

空闲的消费者将使用最少的资源(只需少量内存,没有cpu)。不,您不能为每个队列指定使用者计数,除非每个队列都有一个单独的容器。

© www.soinside.com 2019 - 2024. All rights reserved.