【问题标题】:Storm KafkaBolt push to multiple Kafka TopicsStorm KafkaBolt 推送到多个 Kafka 主题
【发布时间】:2019-03-27 13:36:21
【问题描述】:

我有一个用例,我有一条消息必须推送到许多 kafka 主题。 目前在高层次上,该方法如下所示:

pushToTopics(String msg){
  pushToTopicA(msg);
  pushToTopicB(msg);
  pushToTopicC(msg);
  .
  .
  .
  pushToTopicN(msg);
}

每个 PushToTopicX(msg) 都有一个条件,当满足时应该将消息发布到相应的主题。现在,所有这些逻辑都在终端 Bolt 中,为了推送消息,我们使用 KafkaProducer。

我正在寻找将其分解为特定主题的螺栓的方法,更重要的是使用 KafkaBolts 推送消息。

storm(v 1.2.2) 可以吗?我看到最近合并了一个 PR,它允许创建自定义回调,但我们没有。

【问题讨论】:

  • 您是否正在为您的逻辑寻找一些类设计?

标签: apache-kafka apache-storm


【解决方案1】:

KafkaBolt 可以根据元组决定哪个topic to send to。您可以使用拆分器 Bolt 将您的消息拆分为 N 消息,每个消息都有不同的目标主题,然后将它们全部发送到 KafkaBolt。

【讨论】:

    【解决方案2】:

    我最终解决它的方法是创建单独的流,每个流都绑定到目标主题。然后通过特定流上的collector.emit,我能够将消息分散到各种螺栓上,最终使用KafkaBolt推送到Kafka。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 2021-12-19
      • 2016-11-05
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多