【发布时间】:2020-01-08 17:55:46
【问题描述】:
我有一个场景,其中有多个 Kafka 主题(每个主题有一个分区)和一个消费者组来消费记录。我在消费者组中使用单个模式匹配消费者,它匹配所有主题,因此消费所有主题中的所有记录。
我现在想扩大规模,让多个消费者(在同一个消费者组中)收听所有主题。但是,这似乎不起作用,因为所有记录仅由组中的第一个消费者使用,从而使组中的其他消费者无用。此外,我使用ExecutorService 将消费者作为单独的线程运行。
我怎样才能做到这一点? 以下是我的代码:
Pattern pattern = Pattern.compile(topicPattern); consumer.subscribe(pattern);
上面代码中发送的模式与所有主题的名称匹配, 例如。
如果主题名称是sample_topic_1、sample_topic_2 等,我们将其与sample_topic_*$ 匹配。
【问题讨论】:
-
您是否需要一个特定的消费群体?
-
是的,我受限于可以创建的组的数量,在我的例子中是一个。
-
受什么限制?
标签: java apache-kafka kafka-consumer-api