Streams的Apache Storm优先级

时间:2015-12-07 12:21:02

标签: apache-storm

我有以下问题。我有一个Apache Storm拓扑,如下所示:

  

A - > B - > ç

答:是一个Spout并从数据库中获取了一些序列

B:分裂这些序列并发出n个长序列

C:计算子序列是否在所有序列中

现在如果c看到子序列不在所有序列中,它应该向B发送指令消息,B可以修剪一些序列,并且不得发送比所有列表中没有的子序列长的所有tupel。

我的问题是如何在b。

的消息队列中转发此指令tupel

1 个答案:

答案 0 :(得分:0)

您可以简单地定义循环图:

TopologyBuilder builder = new TopologyBuilder();
builder.addSpout("A",...);
builder.addBolt("B",...)
  .someConnectionPattern("A") // regular forward connection
  .allGrouping("C"); // cyclic feedback connection 
builder.addBolt("C",...).someConnectionPattern("B")

在该示例中,我使用allGrouping将truncate信息分发给所有instanced。根据您的使用情况,fieldsGrouping也可能有用。