【问题标题】:FlinkKafkaSource from Multiple Kafka Topics来自多个 Kafka 主题的 FlinkKafkaSource
【发布时间】:2021-06-04 04:12:21
【问题描述】:

我正在尝试使用 FlinkKafkaSource 从多个 Kafka 主题中消费。

我正在尝试构建一个监控仪表板来捕获指标,例如向这些主题发送了多少消息等。

我可以创建多个来源(每个主题一个)并加入它们。 FlinkKafkaConsumer 如何允许您传递一个主题列表,因此如果我创建一个单一来源并从所有主题中消费它会变得不那么复杂。

与为每个主题创建一个源相比,这样做有什么缺点吗? (Flink 为每个 Topic/Partition 创建了多少并发消费者。这是可配置的吗?例如,如果我使用 SpringBoot,我可以在 ConcurrentKafkaListenerContainerFactory 上指定并发)

如果 Flink 使用相同的并发性,即无论我使用单个主题还是多个主题,那么我认为使用单源可能会限制我可以使用的消息数量。

谢谢 萨提什

【问题讨论】:

    标签: apache-flink flink-streaming


    【解决方案1】:

    KafkaTopicPartitionAssigner 以循环方式将每个主题的分区均匀地分布在子任务中。分区 0 分配到的子任务由主题名称确定。

    这是为了在并行工作人员之间平均分配负载,而无需您进行任何干预。但如果您确实想要显式、细粒度的控制,您应该坚持实例化单独的消费者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-05
      • 2018-06-30
      • 2018-12-10
      • 2019-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      相关资源
      最近更新 更多