【问题标题】:Kafka multiple Consumers listening for multiple topicsKafka 多个消费者监听多个主题
【发布时间】:2018-08-31 19:56:58
【问题描述】:

我们正在开发一个应用程序,希望在 Kafka 中侦听多个主题。所有主题都有一个分区。所有主题名称都有一个共同的前缀,例如"test-x", "test-y" 所以我们可以使用 spring topicPattern

我们想编写一个 java spring 消费者,它使用regexp 模式监听所有主题。我们的想法是,我们可以运行同一个消费者(属于同一个组)的多个实例,Kafka 将为不同的消费者分发来自不同主题的消息。

但是,这似乎不起作用。即使我们运行多个消费者实例,也只有一个消费者从所有主题中获取消息。如果我们在主题中创建多个分区,那么它可以工作,但这是我们不会拥有的。

这里有什么我们不明白的吗?提前致谢。

【问题讨论】:

  • 消费者应该订阅不同的组,以便他们并行订阅相同的消息
  • 在理解我们使用模式订阅时主题是如何分布的概念时,这听起来像是一个强大的 Apache Kafka 问题。从 Spring 级别无事可做。我想知道是否有任何 Apache Kafka 社区成员曾经在 SO...
  • /me 向@ArtemBilan 挥手;)我们这里有很多卡夫卡人 :) 听起来绝对像是消费者群体的问题。
  • 您的问题解决了吗?如果你能发布解决方案

标签: java spring apache-kafka kafka-consumer-api spring-kafka


【解决方案1】:

Kafka 在消费者组(具有相同 group.id 的消费者)之间分配主题内的分区。由于您的主题只有分区,因此消费者组中只有一个消费者会收到消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2018-12-31
    • 2019-02-22
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    相关资源
    最近更新 更多