1

我已经使用Spring卡夫卡创造了卡夫卡消费者和Cloud Foundry中部署它。该主题有10个分区。我正计划将应用扩展到10个实例,以便每个实例都可以使用来自一个分区的消息。 Spring Kafka支持并发消息监听器容器,我猜支持创建多个线程从每个分区消耗。因此,举例来说,如果我有5个消费者实例,每个消费者实例可能有2个线程从分区中消耗。由于我无论如何计划为每个分区创建1个应用程序实例,因此使用并发消费者有什么优势吗?春天卡夫卡消费者 - 并行听众与非并发听众云

由于我的首要任务是主题中的信息的快速处理,我想提供了1个应用实例的每个分区将给予足够的资源对每个分区中的信息进行处理。

回答

1

这是正确的,你只需要拥有10单线程的消费者同样的消​​费小组。由于您有10个分区,卡夫卡的重新平衡机制将在您的10个实例之间分配它们。

在该容器中的并发性将是不必要的。考虑使用KafkaMessageListenerContainer来代替。

+0

谢谢!当我的容器逐一启动时,Kafka会自动重新平衡吗? –

+0

这是正确的,但可以肯定的是所有的都连接到同一卡夫卡集群 –

+0

我有多个经纪人和我已经提供了一个逗号分隔的引导服务器上市。这是否符合集群的要求? –