首页 文章

Spring Kafka消费者 - 并发监听器与 Cloud 中的非并发监听器

提问于
浏览
1

我使用Spring Kafka创建了一个Kafka消费者,并将其部署在 Cloud 代工厂中 . 该主题有10个分区 . 我计划将应用程序扩展到10个实例,以便每个实例可以使用来自一个分区的消息 . Spring Kafka也支持并发消息监听器容器,我想支持从每个分区创建超过1个线程 . 因此,例如,如果我有5个消费者实例,则每个消费者实例可能有2个线程从分区消耗 . 由于我无论如何计划为每个分区创建1个应用程序实例,使用并发使用者是否有任何优势?

由于我的优先级是快速处理主题中的消息,我认为为每个分区提供1个应用程序实例将为每个分区中的消息提供足够的资源进行处理 .

1 回答

  • 1

    这是正确的,您只需要在同一个使用者组中拥有10个单线程消费者 . 由于您有10个分区,Kafka中的重新 balancer 机制将在10个实例之间分配它们 .

    该容器中的并发性是不必要的 . 考虑使用 KafkaMessageListenerContainer 代替 .

相关问题