`

Storm高并发介绍

 
阅读更多
并发度:
  worker:指的是component (spout或bolt),并行的跑在不同的machine上的topology子集。
  一个Topology可以包含一个或多个worker,worker process就是执行一个topology的子集, 并且worker只能属于一个topology。

设置worker数量
Config conf = new Config();
conf.setNumWorkers(2); 


  executor:worker的执行线程。
  一个worker可用包含一个或多个executor, 每个component (spout或bolt)至少对应于一个executor, 所以可以说executor执行一个组件compenent(spout||bolt)的子集, 同时一个executor只能对应于一个component。

设置executor方式:
//parallelism_hint即设置的executor线程数
builder.setSpout("spout", new MySpout(), 1);
setBolt(String id, IRichBolt bolt, Number parallelism_hint);


Task:是具体的处理逻辑对象, 一个executor线程可以执行一个或多个tasks。
一般默认每个executor只执行一个task, 所以我们往往认为task就是执行线程, 其实不是。
task代表最大并发度, 一个component的task数是不会改变的, 但是一个componet的executer数目是会发生变化的(storm rebalance命令)。可以理解与executor一样,增加并发数
task数>=executor数, executor数代表实际并发数

设置task方式:
topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4).shuffleGrouping("blue-spout");


总之:
一个worker可以包含多个executor
一个executor可以包含多个task


示例:
Config conf = new Config();
conf.setNumWorkers(2); 

topologyBuilder.setSpout("blue-spout", new BlueSpout(), 2); 

topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4).shuffleGrouping("blue-spout");

topologyBuilder.setBolt("yellow-bolt", new YellowBolt(), 6).shuffleGrouping("green-bolt");

StormSubmitter.submitTopology("mytopology",conf,topologyBuilder.createTopology());





  • 大小: 58.2 KB
  • 大小: 126 KB
分享到:
评论

相关推荐

    Storm入门教程 之Storm原理和概念详解

    Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景) Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群...

    webservice测试工具storm

    在Storm中,你可以模拟多个并发用户,进行负载和压力测试,评估Web服务在高并发情况下的稳定性和性能。通过分析响应时间、错误率等指标,可以找出系统的瓶颈和优化方向。 6. 自动化测试: Storm支持脚本化的测试...

    从零开始学Storm.pdf

    4. 鲁棒性:Storm设计目标之一是提供健壮、容易管理的集群,即使在高并发的情况下也能保证系统的稳定运行。 5. 容错性:Storm具备容错能力,当计算出现错误时,系统能够重新分配任务,保证计算的持续进行。 6. 编程...

    Storm实战:构建大数据实时计算

    第4章和第5章阐述了Storm的并发度、可靠处理的特性;第6章~第8章详细而系统地讲解了几个高级特性:事务、DRPC和Trident;第9章以实例的方式讲解了Storm在实际业务场景中的应用;第10章总结了几个在大数据场景应用...

    storm-hbase集成

    它的设计目标是处理PB级别的数据,适用于需要低延迟、高并发读写的场景。 三、Storm 与 HBase 集成的原因 1. 实时性:Storm 的实时处理能力与 HBase 的高速写入和查询性能相结合,可以实现实时数据的快速处理和存储...

    Storm笔记-PPT

    Storm设计的目标是使实时数据处理变得简单易用,它可以连续处理无限的数据流,提供低延迟和高吞吐量的处理能力。Storm的核心思想是微批处理,即每个数据单元作为一个“小批次”进行处理,确保每个消息只被处理一次,...

    storm 学习资源总结

    Storm 的架构特点包括编程简单、高性能、低延迟、分布式、可扩展、容错、消息不丢失等。 Storm 的应用场景包括实时计算分析、ETL、在线机器学习、Hadoop 处理静态数据,而 Storm 处理的是动态的、连续的数据。...

    storm程序代码示例

    Apache Storm是一个开源的分布式实时计算系统,它能够处理无界数据流,确保每个事件都得到正确的处理,即使在高并发和大规模数据输入的情况下也能保持高效。 **一、Storm简介** Apache Storm的核心概念包括:拓扑...

    storm 实战笔记

    可能会涉及到Top N、滑动窗口等时间窗口操作,以及如何在高并发环境下保证数据的准确性和实时性。 五、Storm之电商交易风控项目实战 在电商交易风控场景中,Storm扮演了实时风险评估的角色。读者将学习如何通过实时...

    Storm 源码分析

    Apache Storm是一款开源的分布式实时计算系统,它提供了简单而强大的API来定义数据流处理逻辑,同时保证了消息处理的容错性和高性能。Storm的设计目标是成为实时计算领域的Hadoop,支持多种编程语言,并且能够很好地...

    storm调试webservice

    使用Storm可以实现这些功能的自动化和实时化,对于大规模或高并发的Web Service环境尤其有价值。 然而,提供的压缩包文件名称“Storm_r1.1-Adarna”并没有给出足够的信息来详细解释具体如何使用Storm调试Web ...

    storm_webservice.zip

    标题中的"storm_webservice.zip"表明这是一个与Apache Storm相关的Web服务的...在实际应用中,开发者可能需要根据业务需求定制这个服务,例如处理特定的数据格式,实现特定的业务规则,或者优化性能以满足高并发请求。

    apache-storm-1.2.1.tar.gz

    这些改进使Storm更适用于大规模、高并发的实时数据处理任务。用户在使用过程中,应当关注官方更新日志,了解新版本带来的具体改进和可能的迁移步骤。 总之,Apache Storm 1.2.1是一个强大的实时流处理框架,适用于...

    中国移动storm项目代码

    10. **性能调优**:考虑到基站数据的高并发性和实时性要求,项目可能涉及到 Storm 的性能调优,包括优化拓扑结构、调整并行度以及优化数据处理逻辑等。 综上所述,【中国移动storm项目代码】是一个综合性的实时大...

    基于Storm流计算天猫双十一作战室项目实战

    Storm Trident作为Storm的一个高级API,提供了更高级别的抽象和事务支持,使得复杂的数据处理变得更加简单和可靠。 **2. Storm的全面讲解** - **深度解析**:课程不仅覆盖了Storm的基础概念和架构,还深入探讨了其...

    storm DRPC简单例程

    DRPC允许用户在Storm集群上执行分布式远程过程调用,使得在分布式环境中进行高并发、低延迟的数据处理成为可能。 **描述解析:** 描述中提到的"服务器端是运行在集群环境中的",指的是DRPC服务部署在由多台机器组成...

    storm0.9.4

    ZeroMQ能够处理大量并发连接,并且支持多种传输协议,如TCP、IPC和PUB/SUB模式,使得数据通信更加高效。 "zookeeper3.6.4"是Apache ZooKeeper的一个版本,它是一个分布式的,开放源码的协调服务,用于分布式应用...

    storm企业应用 实战 运维和调优

    - 理解并优化Spout和Bolt的并发度(parallelism hint)来提高资源的利用率。 - 调整批处理大小和超时时间以适应不同的业务场景和数据处理需求。 4. 性能调优: - 对消息的序列化和反序列化方式进行优化,减少CPU...

    Java高级课程(nginx+redis+zookeeper+activemq+storm+dubbo+netty+jvm+并发编程锁+项目实战)

    Java高级互联网架构师系统培训班课程Java高级互联网架构师系统培训班课程Java高级互联网架构师系统培训班课程

Global site tag (gtag.js) - Google Analytics