码迷,mamicode.com
首页 > 其他好文 > 详细

4. Storm可靠性

时间:2015-06-13 06:16:10      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

storm高可靠性:
storm有一种机制可以保证从spout发出的每个tuple都会被完全处理

 可靠性机制:
1.节点故障迁移
   当一个节点上的worker出现问题是,会自动切到其他节点;

2.消息完整发送
  • 一个消息(tuple)从spout发送出来,可能会导致成百上千的消息基于此消息被创建
  • “单词统计”的例子:
  1. storm任务从数据源每次读取一个完整的英文句子;将这个句子分解为独立的单词,最后,实时的输出每个单词以及它出现过的次数。
  2. 每个从spout发送出来的消息(每个英文句子)都会触发很多的消息被创建,那些从句子中分隔出来的单词就是被创建出来的新消息。
  3. 这些消息构成一个树状结构,我们称之为“tuple tree”
    技术分享
 
 在什么条件下,Storm才会认为一个从spout发送出来的消息被完整处理呢?
  •   tuple tree不再生长
  •   树中的任何消息被标识为“已处理”

 可靠性总结:
  1. 无论何时在tuple tree中创建了一个新的节点,我们需要明确的通知Storm;
  2. 当处理完一个单独的消息时,我们需要告诉Storm 这棵tuple tree的变化状态。
  • 通过上面的两步,storm就可以检测到一个tuple tree何时被完全处理了,并且会调用相关的ack或fail方法。
  • 锚定(anchoring)




4. Storm可靠性

标签:

原文地址:http://www.cnblogs.com/51runsky/p/4572833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!