我有一个 Spring Boot 应用程序。我希望实现一个从 Kafka 主题消费的功能,对于每一条消费的消息,它调用另一个方法,对消息进行一些处理,然后将其存储在数据库中。源kafka主题有12个分区。我想在同一个消费者组下创建6或12个kafka消费者。所有消费者都将消费来自 Kafka 的消息并调用该函数。我无法为此找到一个好的设计。有人能帮我吗 ?
最佳答案
我们对具有 4 个分区的主题有几乎相同的需求,我们创建了一个具有 2 个成员的消费者组,并为每个成员(消费者的实例)分配了两个分区。 如果您使用的是 spring,您可以使用此参数选择实例将创建多少个成员:
# For Kafka concurrency
spring.kafka.listener.concurrency=2
如果您使用 Kafka 库,此参数应该位于您的消费者的参数中。 请注意不要超过可用线程数。
关于java - 为单个 kafka 主题创建多个消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60300554/