首页 文章

Spring AMQP:比较每个消费者的多个消费者与多个线程的性能

提问于
浏览
1

Spring AMQP:比较每个消费者的多个消费者与多个线程的性能

我正处于从Spring doc学习Spring AMQP的阶段 . 我不清楚增加消耗率异步消息的首选方法:根据Spring文档(http://docs.spring.io/spring-amqp/docs/1.2.1.RELEASE/reference/html/amqp.html#d4e329),以下两点注意到配置SimpleMessageListenerContainer:

  • concurrency =>为每个侦听器启动的并发使用者数 . 在增加计数时,这将增加将在队列上接收的消费者的数量 .

  • taskExecutor =>默认情况下,确保为每个传入消息创建新线程

所以,我假设如果我们有任务执行的无界线程(第2点),那么就没有必要增加消费者的数量 . 要求验证我的假设并发送您注意到的任何绩效点

1 回答

  • 2

    没有;每个传入消息都没有新线程;每个消费者都有一个帖子 . 如果您使用ThreadPool执行程序,则需要为配置数量的使用者提供足够的线程 . 默认任务执行程序通常就足够了 .

    消费者线程调用您的监听器;如果你的监听器平均需要1秒来处理消息,那么并发性为1,你的最大吞吐量是每秒1;并发性为每秒2次 . 等等

相关问题