我使用springkafka创建了一个kafka消费者,并将其部署在cloudfoundry中。主题有10个分区。我计划将应用程序扩展到10个示例,这样每个示例都可以使用来自一个分区的消息。springkafka也支持并发消息侦听器容器,我猜它支持从每个分区创建多个线程。例如,如果我有5个使用者示例,那么每个使用者示例可能有2个线程从每个分区消费。既然我计划为每个分区创建一个应用示例,那么使用并发消费者有什么好处吗?
因为我的首要任务是快速处理主题中的消息,所以我认为为每个分区提供一个应用程序示例将为每个分区中的消息提供足够的资源。
1条答案
按热度按时间e4eetjau1#
没错,您只需要在同一个使用者组中有10个单线程使用者。由于您正好有10个分区,kafka中的重新平衡机制将在您的10个示例之间分配它们。
该容器中的并发将是不必要的。考虑使用
KafkaMessageListenerContainer
相反。