java - Rabbitmq 消费者

标签 java spring-boot rabbitmq cloud-foundry

我在 Pivotal Cloud Foundry 中部署了一个 Spring Boot 应用程序。我有 4 个正在运行的应用程序实例。应用程序使用 RabbitMQ 队列中的消息并进行进一步处理。如果我在 RabbitMQ 中将队列的消费者数量设置为 40,那么这 40 个消费者是否会均匀分布在正在监听的应用程序中?

最佳答案

来自文档here :

By default, RabbitMQ will send each message to the next consumer, in sequence. On average every consumer will get the same number of messages. This way of distributing messages is called round-robin

为了回答您的问题,您的应用程序之间的负载将大致相等。

来自here的另一个有点支持的片段:

Direct exchanges are often used to distribute tasks between multiple workers (instances of the same application) in a round robin manner. When doing so, it is important to understand that, in AMQP 0-9-1, messages are load balanced between consumers and not between queues.

关于java - Rabbitmq 消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42143536/

相关文章:

spring - 如何在调用构造函数之前注入(inject) spring @Value 注释值?

ssl - 类型与表约束不兼容的 RabbitMq TLS/SSL 连接错误

windows - RabbitMq 和 "Fatal error: handshake failure - handshake_decode_error"

java - em.persist 似乎不会在 postgreSQL 数据库上保留数据

java - 如何删除 cookie

java - OSGi 片段是否应该导出为其主机贡献的包?

java - HttpClientErrorException.getStatusText 和 HttpClientErrorException.getResponseBodyAsString 之间的区别

spring-boot - @PostConstruct 并 Autowiring MessageChannel

java - 使用 DirectMessageListenerContainer 压缩和解压 Spring RabbitMQ 消息

Java 数组值被覆盖