1

我有一个用例将 http POST 发送到使用 Spring Cloud Stream App Starter 的 http 源创建为 Spring Boot APP 的 HTTP 源。这个过程在发布 5k 记录/秒。我有一个接收器应用程序将数据保存到 Mongo DB。在应用程序中读取非常慢,为 20 条消息/秒。我正在使用以下属性,没有发现任何区别。我使用相同的前缀来加载属性 - spring.cloud.stream.rabbit.binder。你能告诉我如何在从 RabbitMQ binder 读取数据中实现并发吗?

应用程序属性

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

感谢并感谢您的帮助 Karthik

4

1 回答 1

1

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

不知道你是怎么想出带有前缀的属性的spring.cloud.stream.rabbit.binder.listener.concurrency。您在文档中的任何地方都看到了这一点吗?

于 2016-10-26T15:47:08.157 回答