自从Google发表了3篇举世瞩目的论文(Google File System、BigTable和MapReduce)以后,大数据被引爆了。如果说计算机的威力相当于一枚大炮的威力的话,那么互联网的威力相当于一颗原子弹,而大数据的威力则相当于氢弹,大数据成为了IT发展史上的又一次浪潮,处于这个圈内的我们怎能错过?
时至今日,基于Google的3篇论文及后续研究,大数据处理架构如雨后春笋般拔地而起,大数据的世界里,百家争鸣,百花齐放(关注Apache大数据开源项目的朋友应该有感触),这一点就像春秋战国时期思想界一样,大家都基于《易经》,却各有各的理解,各有各的用途。在大数据分布式处理的世界里,Hadoop是鼻祖,而基于Hadoop,又诞生出了很多框架,HBase、Hive、Pig、Zookeeper、Spark、Storm等,读者可以去Apache项目列表里面看详细信息:Apache Projects Directory,本文介绍的是实时大数据处理架构Storm。
Hadoop做大数据处理,做的是批处理,即在处理之前需要先准备好数据,有点万事俱备只欠东风的感觉,而Storm做的是实时大数据处理,在处理前不需要准备好数据。举个例子,想象一个无比庞大蓄水池,连接着无数多的进水管,如果把蓄水池和管道里面的水看成数据的话,那么Hadoop擅长于处理蓄水池中已经累计的海量数据,而Storm擅长于处理实时流进蓄水池的管道里的数据。
大数据的一大特征是高速度,因此大数据的实时处理更具有商业价值,实时的商品推荐,实时的搜索推荐,等等,都要求对大数据的高速、实时处理,而Storm就擅长于这个。本文,我介绍一下Storm的基本概念,关于St