`

storm消息机制保证ack 原理

 
阅读更多

 storm会有一个ackbolt 不断计算top 每个spout,bolt task的msgid ,来确认调用act 方法还是fail方法 ;

如下示列

1.如下图

    

 1.spout 向ackbolt 报上去的 rootId=T1^T2

 2.bolt1 向ackbolt 报上去的 rootId=T1^T3^T4^T5

 3.bolt2 向ackbolt 报上去的rootId=T2

 4.bolt3 向ackbolt 报上去的rootId=T3^T4^T5

 

actbolt 算出来的这条消息的结果是T1^T2^T1^T3^T4^T5^T2^T3^T4^T5 如果为0 则反回给spout 调用ack方法说明消息成功,否则调用fail方法

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 40.9 KB
分享到:
评论

相关推荐

    storm原理分析

    ### Storm原理分析 #### 一、Storm基本结构 Apache Storm 是一个开源的分布式实时计算系统,主要用于处理流式数据。Storm 提供了一种简单而强大的模型来定义并行计算过程,使得用户能够轻松地处理无限的数据流。...

    Storm源码走读笔记

    以上这些知识点对于理解Storm的工作原理至关重要,它们涵盖了从Storm的基本架构、进程启动和初始化、Topology的创建和提交,到消息的接收、传递以及可靠性的保证。通过深入分析这些知识点,可以加深对Storm源码的...

    Building Python Real-Time Applications with Storm - Kartik Bhatnagar.pdf.pdf

    书中还介绍了与Storm拓扑相关的特有术语,以及如何在物理上查看Storm集群,并解释了流分组、故障容错和Storm中的消息确认机制。在这部分的最后,提供了关于Storm可靠元组处理和ack的XOR魔法的详细介绍。 第三部分...

    strom源码分析

    - 可靠性:Storm通过ack机制保证消息处理的可靠性,源码分析应涉及Storm是如何实现这一机制的。 - 任务调度:了解Storm是如何调度工作节点上的任务,以及如何处理资源分配。 - 通信机制:分析Storm内部各组件之间...

    storm-word-count-demo4.zip

    通过学习和实践这个项目,开发者可以深入理解Storm的基本原理,包括Spout和Bolt的工作方式、拓扑结构的构建,以及如何在实际环境中部署和运行Storm应用。同时,这个项目也提供了扩展和优化实时数据处理逻辑的基础,...

    spark官方文档

    - Storm设计的保证消息处理可靠性的方式。 7. TridentTopology: - 介绍TridentTopology的概念及其创建过程。 - TridentTopology的ack机制和调用关系。 8. Metrics执行流程: - 描述了如何收集和处理Storm集群...

    Kafka2Storm:异常订购

    首先,我们需要理解Kafka2Storm的基本原理。Kafka2Storm的核心在于将Kafka中的消息数据实时地引入到Storm的拓扑结构中进行处理。在Java环境下,我们通常会使用Kafka的Producer API发送数据到Kafka topic,再通过...

    storm-samples

    Apache Storm是一个开源的流处理框架,用于处理无界数据流,确保每个消息都得到精确一次的处理。在Java开发环境中,Storm通常与IntelliJ IDEA这样的集成开发环境(IDE)结合,通过Maven构建工具进行管理。 这个...

    Apache_Kafka_Share

    1. **消息确认机制**:Kafka的生产者无法保证消息的唯一性,而ActiveMQ提供了每条消息的ACK机制,确保了Exactly Once的消息语义。 2. **数据处理方式**:Kafka采用二进制数据格式并进行批处理,利用Page Cache提高...

    hmyjsmst.docx

    - 通过Ack机制确保数据处理过程中不会丢失任何消息。 **3.3 Storm物联网WiFi项目** - **WiFi项目背景** - 实现对WiFi信号强度等数据的实时监控和分析。 - **数据处理流程** - 数据采集、数据预处理、数据计算、...

    stroem-io_github_io-源码.rar

    - **Ack机制**: 每个处理任务完成后,会返回一个确认(Ack)信号。如果某个任务失败,斯特罗姆会重新发送未确认的数据。 3. **编程模型**: - ** Trident**: strom-io提供的高级API,用于构建复杂的、状态管理的、...

    jstorm-2015:jstorm学习

    当一个tuple被spout生成后,会经过bolt的处理,最终被ack(确认)或fail(失败)。JStorm的可靠性机制依赖于tuple的生命周期管理。 2.2 容错机制 JStorm通过acker组件实现了 tuples 的可靠传输。每个提交的拓扑都会...

Global site tag (gtag.js) - Google Analytics