spring - RabbitMQ:如何为所有消费者设置通用的 prefetchCount?
问题描述
我需要为队列定义同时处理消息的数量。prefetchCount 工作正常,但限制是针对每个消费者。在我的例子中,我可以有多个消费者,但我需要一个共同的限制(例如 2 个消费者,限制设置为 5。如果第一个消费者正在处理 3 条消息,那么第二个只能接受 2 条)。
你知道我怎样才能实现它吗?
背景:
- 春季启动应用程序。
- 每个消费者都是 Spring 微服务的一个实例。
- 消息由其他微服务添加到命名队列。
- 每个消费者将处理来自许多命名队列的消息。
- 每个命名队列应该有单独的同时处理消息的限制,
解决方案
您应该将所有兔子侦听器的总并发定义为等于您的代理的数量。即 - 可用代理的数量为 6,那么如果您有 2 个消费者(兔子侦听器),每个消费者将有 3 个并发(核心和最大)
推荐阅读
- python-3.x - Selenium 寻找 id="form_error"
- r - 通过 strsplit 使用非贪婪正则表达式拆分字符串
- variables - '符号作为变量的值是 void:' 当在 lambda 内的 defun 上使用参数时
- php - 如何使用 PHP 从特定 url 的源代码中抓取值?
- javascript - 根据用户在 Google 站点(网络应用程序)中的选择更改 Google 表格数据
- php - 表单验证不起作用 CodeIgniter 3
- android - 任务“:react-native-keychain:compileReleaseJavaWithJavac”执行失败。尝试 ./gradlew bundleRelease 时
- python - 生成重复数字的宾果卡
- eslint - 来自所有环境“es6”、“es2017”和“es2020”的 ESLint 全局变量是累积设置还是增量设置?
- sql - 此列列表没有匹配的唯一键或主键。我不知道如何为我的情况解决它