`
iwinit
  • 浏览: 454796 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

[storm]消息事务算法的一个理解

阅读更多

https://github.com/nathanmarz/storm/wiki/Guaranteeing-message-processing这篇文章介绍了storm如何处理消息事务,提到了用一个ack value代表一个tuple的生命周期。

其算法是“It is simply the xor of all tuple ids that have been created and/or acked in the tree.”

如果topology是

 Spout->A->B

 ,那么计算过程应该是

(0^U(s))^(U(s)^U(A))^(U(A)^0)=0

U(s)代表spout创建的tuple id.也就是tuple创建时和ack时都要XOR一次,当所有component都处理完时,结果值是0.最后一个bolt没有下游bolt时为0.

分享到:
评论

相关推荐

    storm事务1111

    在分布式计算领域,Apache Storm是一个实时计算系统,它允许开发者处理无界数据流,实现低延迟、高吞吐量的数据处理。"storm事务1111"可能指的是针对Storm的一种特定事务处理机制或实践案例。Storm的核心特性之一是...

    apache-storm-1.2.3.rar

    Apache Storm 是一个开源的分布式实时计算系统,专为处理大规模数据流而设计。这个压缩包“apache-storm-1.2.3.rar”包含了Apache Storm 1.2.3版本的所有源码、库文件和文档,是开发人员进行实时处理应用的理想工具...

    Storm流计算项目:1号店电商实时数据分析系统-11.基于HBase的Dao基类和实现类开发一.pptx

    在Storm的处理拓扑中,每个Bolt实例可能由多个工作线程共享,因此,Dao的实现必须能够正确处理并发情况。 6. **性能优化** 在处理大量实时数据时,优化数据写入和查询的性能至关重要。这包括合理设计HBase表的分区...

    docs:Java知识总结:MySQL实战45讲,多线程和JVM知识总结,, SpringBoot,SpringCloud,Storm系列,微信小程序开发,ELK,《 JAVA核心技术36讲笔记》,《深入理解JVM虚拟机笔记》 ,《高级MySQL笔记》,《数据结构与算法》等等

    4. **Storm系列**:Apache Storm是一个实时计算系统,用于处理持续的数据流,常用于大数据实时处理场景。 5. **微信小程序开发**:微信小程序是一种轻量级的应用开发平台,涉及前端界面设计、网络请求、数据缓存、...

    JAVA核心知识点全集

    Java算法和数据结构的学习能提升问题解决能力,例如排序算法、搜索算法以及树、图等复杂数据结构的理解。 加密算法如AES、RSA等保护数据安全,分布式缓存如Redis和Memcached提高数据访问速度。大数据处理技术如...

    高级操作系统课件(分布式操作系统)

    分布式操作系统是现代计算机系统中的一个重要概念,它涉及多个相互协作的计算节点,共同提供单一、无缝的操作环境。在“高级操作系统课件(分布式操作系统)”中,我们可以期待深入学习到以下关键知识点: 1. **...

    分布式课件

    5. 分布式事务处理:探讨ACID(原子性、一致性、隔离性、持久性)特性,以及在分布式环境中如何实现事务处理,如两阶段提交、三阶段提交等协议。 6. 分布式调度与资源管理:理解如何在多节点之间分配和管理资源,如...

    zookeeper-3.3.6.tar.gz

    ZooKeeper,作为一个分布式的,开放源码的分布式应用程序协调服务,是Apache Hadoop项目的重要组成部分。本文将深入解析ZooKeeper的架构、功能、工作原理以及在实际应用中的场景。 一、ZooKeeper简介 Zookeeper...

    Java开发者或者大数据开发者面试知识点整理.zip

    3. **JVM内存模型**:理解堆、栈、方法区、本地方法栈、元空间的概念,以及垃圾回收机制,包括GC原理、GC算法、Full GC触发条件等。 4. **多线程编程**:掌握线程的创建、同步与通信,如synchronized、wait/notify...

    分布式计算技术教材源代码

    分布式计算技术是现代计算机科学中的一个重要领域,它涉及如何通过多台计算机的协作来处理大规模的数据和执行复杂的计算任务。本教材源代码集合为学习者提供了深入理解分布式计算原理和实践操作的宝贵资源。 分布式...

    JAVA上百实例源码以及开源项目源代码

    同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-mail账号,查询mail 服务器的会话…… 还包括消息客户端程序,通过连接创建会话。创建发送者和映射消息。发送消息,同时对文本...

    java 学习笔记包括 JVM 集合 Spring ,Spring cloud, Mysql ,redis ,kaf.zip

    Redis是一个高性能的键值存储系统,常用于缓存和消息队列。其特点是支持多种数据结构(如字符串、哈希、列表、集合和有序集合)和操作,以及发布/订阅模式。了解如何利用Redis提升系统的响应速度和处理高并发是非常...

    system-design,准备系统设计面试问题.zip

    常见的问题如设计一个分布式文件系统、构建搜索引擎或设计一个消息队列等。 2. **负载均衡**:如何在多台服务器之间分配请求,确保无单点故障和优化资源利用率。了解HTTP负载均衡器、DNS轮询以及应用层的负载均衡...

    Fairfax_MS4_Scenarios-源码.rar

    Fairfax County作为美国弗吉尼亚州的一个县,可能在项目中使用了MS4来管理其雨水管理系统。因此,这个压缩包很可能包含的是与Fairfax County MS4系统相关的源代码和场景模拟。 源代码是程序设计的基础,它是由...

    JAVA面试很全的一个资料,不过仅针对面试哦,日常学习不合适。内容以问答形式。

    包括JVM、Java集合框架、多线程并发、基础语法、Spring框架原理、微服务、网络编程、日志处理、分布式协调服务如Zookeeper、消息中间件如Kafka和RabbitMQ、NoSQL数据库如HBase和MongoDB、Cassandra、设计模式、负载...

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包2

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包3

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    数据仓库建设方案61305 (2).docx

    Kafka作为一个消息队列,保证了数据的可靠传输,而Storm则处理Kafka中的数据流,实现大规模实时处理和预警功能。 数据存储部分,系统采用Hdfs、Hbase和RDBMS相结合的方式,以适应海量数据的分布式存储需求。Hdfs...

Global site tag (gtag.js) - Google Analytics