zoukankan      html  css  js  c++  java
  • 4. Storm可靠性

    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)




    将来的你,一定会感谢现在拼命努力的你。
  • 相关阅读:
    第四章 源代码的下载和编译 读书笔记
    第三章 Git使用入门 读书笔记
    第二章 搭建Android开发环境 读书笔记
    第一章Android系统移植与驱动开发概述 读书笔记
    读书笔记第九章
    读书笔记第八章
    读书笔记第十章
    读书笔记第七章
    读书笔记第五章
    读书笔记第六章
  • 原文地址:https://www.cnblogs.com/51runsky/p/4572833.html
Copyright © 2011-2022 走看看