【问题标题】:Opening Kafka streams dynamically from a queue consumer从队列消费者动态打开 Kafka 流
【发布时间】:2021-01-19 07:10:46
【问题描述】:

我们有一个用例,根据到达工作队列的工作项,我们需要使用消息元数据来决定从哪个 Kafka 主题流式传输我们的数据。我们可能会部署少于 100 个工作节点,每个工作节点可以有可配置数量的线程来接收来自队列的消息。因此,如果一个工作人员有“n”个线程,我们可能会打开 kafka 流以“n”个不同的主题。 (n 通常小于 10)。 一旦工作人员处理完消息,我们还需要关闭流。 一旦确认第一条消息,工作人员就可以接收下一条消息,此时,我需要为另一个主题打开一个 kafka 流。 此外,每个 kafka 流都需要扫描所有分区(大约 5-10 个)以查找主题以按某个属性进行过滤。

这样的流程是否适用于 Kafka 流,或者这不是最佳方法?

【问题讨论】:

    标签: apache-kafka apache-kafka-streams


    【解决方案1】:

    我不确定我是否完全理解用例,但这似乎是从主题 A 到主题 B 用例的“简单”复制​​数据,即没有数据处理/修改。不过,将数据从输入复制到输出主题的逻辑似乎很复杂,因此使用 Kafka Streams(即 Kafka 的流处理库)可能不是最合适的,因为您需要更大的灵活性。

    但是,使用普通的 KafkaConsumersKafkaProducers 应该可以实现您想要的。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2015-01-26
      • 2022-01-04
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 2017-05-31
      相关资源
      最近更新 更多