针对i/o任务的最佳拓扑设计模式

yuvru6vn  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(424)

所以,我有一个输入是 Kafka 队列 Tweet 文件。我的拓扑需要阅读它并点击三个不同的外部api。
我需要一个方法来确保这三个都完成了,然后再继续前进。我不认为 BatchBolt 是个好办法,是吗?有人能帮忙吗?
编辑/澄清
三个api命中需要返回结果。我需要在文档传递给下一个用户之前处理这些响应 bolt .

camsedfj

camsedfj1#

如果我没听错的话。你有Kafka的艾美短信。每一条信息都需要在三个不同的系统中传递。这可以很容易地完成配置拓扑。

  1. TopologyBuilder topologyBuilder = new TopologyBuilder ();
  2. topologyBuilder.setSpout("Generator", spout, 1);
  3. topologyBuilder.setBolt("External1", bolt1, 1).localOrShuffleGrouping("Generator");
  4. topologyBuilder.setBolt("External2", bolt2, 1).localOrShuffleGrouping("Generator");
  5. topologyBuilder.setBolt("External3", bolt3, 1).localOrShuffleGrouping("Generator");

在这个简单的例子中,3个不同的螺栓连接到1个Kafka喷口。当喷口发出信息时,它会同时发送到所有三个螺栓。如果其中一个螺栓没有确认,它将失败,并重新限制到所有这些螺栓。

相关问题