如何在单个 Storm 拓扑中正确读取多个 Kafka 主题

How to correctly read from multiple Kafka topics in a single Storm topology

我有一个 Storm 拓扑,它必须从多个 Kafka 主题中读取并将它们的输出流式传输到一个螺栓。

目前我正在使用这段代码,它似乎工作正常:-

final TopologyBuilder topologyBuilder = new TopologyBuilder();
topologyBuilder.setSpout(SPOUT_ID_1, new KafkaSpout(kafkaSpoutConfig1), 1);
topologyBuilder.setSpout(SPOUT_ID_2, new KafkaSpout(kafkaSpoutConfig2), 1);
topologyBuilder.setBolt(BOLT_ID, new SingleBolt(), 1).shuffleGrouping(SPOUT_ID_1).shuffleGrouping(SPOUT_2);

这是正确的做法吗?多次呼叫 shuffleGrouping()

是的,您可以多次调用 ***Grouping()