java - 为单个 kafka 主题创建多个消费者

标签 java apache-kafka

我有一个 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/

相关文章:

java - 如何使用 CSVReaderHeaderAware 并迭代列

java - 为什么在第一个打印中它说不同,而 a 和 b 相同?

hadoop - 如果没有,如何处理 Spark RDD 分区。执行者 < 没有。 RDD分区

apache-kafka - 如何找出 Kafka 主题的最新偏移量以了解我的读者何时了解主题的最新信息?

java - 如何在新的 Java 对象中使用日期类型?

java - 错误: unreported exception JSONException in Android

java - 为自定义 Java Web 服务器续订 SSL 证书的过程

java - Kafka消费者输出的数据不一致

scala - 使用 ssl 连接的 Spark 到 kafka 连接

elasticsearch - java.lang.NoSuchMethodError : com. google.common.collect.Sets$SetView.iterator()Lcom/google/common/collect/UnmodifiableIterator;