Storm流式数据计算架构工作机制

Apache Storm是一个开源的实时计算系统,广泛应用于流处理、连续计算和分布式RPC。文章介绍了Storm的起源、发展,以及其核心组件如Spout、Bolt和Topology的概念与作用。Storm采用主从架构,Nimbus负责任务调度,Supervisor执行任务。文章还探讨了Storm的编程模型和可靠性机制。

摘 要

Storm是一套目前最为主流的免费的、开源的分布式实时计算系统,主要应用在流处理、连续计算、分布式RPC这三个方面。自Storm开源发布后,在许多著名企业中得到了广泛地应用。Storm是如何产生的、采用了什么样的架构以及它的工作原理是怎么样的。本文将主要讲解Storm的基本组成以及其集群架构和编程模型。

关键词:Storm,分布式,实时计算,集群架构

前 言

随着科学技术的不断发展,互联网普及到了家家户户,越来越多的人成为了互联网中的一份子。随之而生的物联网、云计算、人工智能等新兴技术也在各个领域得到了广泛地应用,海量的数据由此不断地产生,人们渐渐踏进了大数据时代。对于这些海量的数据,需要有一个特定的系统进行处理,这样才能让这些数据产生价值。这仅仅是解决了数据“大”的问题,很显然这已不满足了现实的需求。实时计算、快速处理成为了另一种趋势,这便是Storm面世的主要原因。

第1章 背景

1.1 Storm的由来

随着IT服务的全球化,作为微博的始祖——Twitter,对高度动态的实时数据处理要求越来越高。而Hadoop MapReduce虽然对海量数据处理应用发挥了重要作用,但其架构模式决定了其批处理的计算模型。这对于需要处理大批实时性要求高的大数据业务来说,存在着及时性和响应速度等方面的限制。

2011年7月,Twitter出于业务需要,收购了BackType公司。BackType是一家专注于社交媒体数据进行实时处理分析的公司,而Storm的前身则是BackType。BackType公司被收购后,Twitter公司将项目交给了原来的首席工程师Nathan Marz负责产品的研发和管理。

最初,BackType采用的是标准队列和线程(Worker)的方法,但这种方法相对来说过于冗长。很多逻辑处理都用于进行收发和序列/反序列消息,一个应用的某个逻辑将会遍及所有线程。于是,在2010年12月,Nathan Marz想到了“流(Stream)”的分布式抽取方法,最后演变为“喷口(Spout)”和“螺栓(Bolt)”的思想。经过五个月后,Storm诞生了第一个版本。

1.2 开源Storm

加入Twitter后,同年的八月份Twitter将Storm正式开源。Storm的实时、快速处理海量大数据能力,成功帮助Twitter和其他有相关需求的企业解决了实时大数据处理的问题,获得了许多企业和专家的赞誉。

1.3 抛弃Twitter,移情Apache

在2013年,Nathan Marz抛弃了Twitter,并投入到了Apache的怀抱。借助于Apache的品牌影响力,Storm最大程度地过渡到了共识驱动模式。随着Storm开发社区更多新想法新思路的提出,Storm在2014年9月成为了官方的顶级项目。

第2章 Storm简介

2.1 简介

Storm是一套目前最为主流的免费的、开源的分布实时计算系统,其具有健壮的分布式集群管理、简便的面向流式数据的编程模型、高容错非功能保障,能够依据用户的设置要求保证数据被恰当处理。对于处理无界数据流,Storm具有可靠、容易、实时的特点。Storm能够实时地处理海量的数据,其每个节点每秒钟处理的数据量可达到100万条
Storm抽象示意图

图2-1 Storm抽象示意图

Storm的抽象示意如图2-1所示,其中Tuple相当于水滴,源源不断的水滴形成了Stream,因此水龙头相当于Stream的来源。只要水龙头一经打开,就会有Stream以Tuple的形式流经Bolt而被处理。图中共有四条数据流三种颜色,每条数据流都是由无限个Tuple组成,Tuple里面装载着具体的数据。Tuple将经过多个不同的Bolt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正则表达式1951

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值