SpringCloudStream - RabbitMQ 活页夹的慢消费者

SpringCloudStream - Slow Consumer for RabbitMQ binder

我有一个用例将 http POST 发送到创建为 Spring Boot APP 的 HTTP 源,其中 http 源为 Spring Cloud Stream App Starter。这个进程在发布5krecords/sec。我有一个接收器应用程序将数据保存到 Mongo 数据库。在应用程序中读取非常慢 20 msgs/sec。我正在使用以下属性,看不出有什么区别。我使用相同的前缀来加载属性 - spring.cloud.stream.rabbit.binder。能否请教一下RabbitMQ binder读取数据如何实现并发?

application.properties

spring.cloud.stream.binder.rabbit.default.prefix=z.
spring.cloud.stream.bindings.input.destination=http-source
spring.cloud.stream.bindings.input.durableSubscription=true
spring.cloud.stream.bindings.input.group=default
spring.cloud.stream.rabbit.binder.addresses=localhost:5672
spring.cloud.stream.rabbit.binder.username=guest
spring.cloud.stream.rabbit.binder.password=guest
spring.cloud.stream.rabbit.binder.listener.concurrency=100
spring.cloud.stream.rabbit.binder.listener.max-concurrency=500
spring.cloud.stream.rabbit.binder.listener.prefetch=1000
spring.cloud.stream.rabbit.binder.listener.acknowledge-mode=NONE

server.port=${listen.port}

####################################################
# Mongo
#      Configuration - DEV
####################################################
mongodbDatabasename=*****
mongodbPassword=*****
mongodbUsername=*****
mongodbReplicaName=
mongodbAddresses=localhost:27017
mongodbAuthenticationDatabase=users
mongodbAuthMechanism=SCRAM-SHA-1
region=DEV
collectionName=*****
mongodbSocketTimeout=25000
mongodbConnectionTimeout=5000
maxConnectionForHost=5
minConnectionForHost=100

感谢并感谢您的帮助 卡尔提克

我认为您需要将并发性和其他与消费者相关的属性设置为每个绑定的消费者属性(前缀:spring.cloud.stream.rabbit.bindings.<channelName>.consumer.。您可以参考更多细节here

不确定您是如何想出带有前缀 spring.cloud.stream.rabbit.binder.listener.concurrency 的属性的。你在文档的任何地方看到这个吗?