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

Consumers in RabbitMQ DirectMessageListenerContainer - Memory Impact in Cloud Foundry

我有一个场景,我在 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. 有什么方法可以分别定义每个队列的具体消费者数量吗?

提前致谢

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