风暴螺栓实例通信

时间:2015-01-30 07:13:26

标签: java apache-storm

AFAIK风暴喷口/螺栓实例独立运行,无需任何通信。

例如,考虑风暴wordcount拓扑

https://github.com/nathanmarz/storm-starter/blob/master/src/jvm/storm/starter/WordCountTopology.java

builder.setBolt("split", new SplitSentence(), 8).shuffleGrouping("spout");
builder.setBolt("count", new WordCount(), 12).fieldsGrouping("split", new Fields("word"));

它定义了一个带有2个螺栓的拓扑结构。

SplitSentence螺栓有8个实例,WordCount螺栓有12个实例并行运行。

这些螺栓实例之间是否有任何通信?

如果我的要求是只生成相对字数,那么它应该用前一个时间戳和字数检查当前字数,并更新当前时间戳并计算为旧时间戳和计数。

如何确保所有螺栓实例都可以使用旧数据(相同的数据同步)?

例如: 正常字数统计示例(流式传输):

  

时间--------------句子-------------字数

     

上午10:00 - >你好世界你好 - >你好2,世界1

     

上午10:15 - >你好世界你好另一个世界 - >你好2,世界2,另一个1

相对字数:

  

时间--------------句子-------------字数

     

上午10:00 - >你好世界你好 - >你好2,世界1

     

上午10:15 - >你好世界你好另一个世界 - >世界1,另一个1

它应该与之前的字数有所不同。

=====================================

Storm是否提供了bolt实例之间的任何同步或通信?

或者我们是否需要使用Zookeeper进行数据同步?

否则还有其他更好的方法吗?

0 个答案:

没有答案
相关问题