**前言**大数据是继云计算、物联网之后IT行业又一大颠覆性的技术变革。之前大数据在互联网、军事、金融、通信和物理学等领域已有不少落地案例,却因为近年来Hadoop技术的快速发展而引起业界广泛关注。可以说,Hadoop目前是大数据处理的关键技术,也是迄今为止,最成熟、应用最广泛的技术。但是Hadoop生态圈下面的数据处理几乎都是在离线状态下进行的,离线处理海量数据是比较耗时、耗力的,Storm的实时处理技术应运而生。正如曾经开发Storm的一位主要工程师所谈到的,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比Hadoop用于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息,更棒的是可以使用任意编程语言来开发。因此在节省时间、人力的情况下,Storm的优势就充分体现了。现在有关Storm的中文学习资料非常少,这给不少研发人员带来了很大的难度。尽管现在市面上已经有几本Storm的中文书籍,但是,这些书籍多是翻译过来的,语言组织不符合国人的习惯,并且实例讲解部分也不能切合本土国情。还有,这些书分别侧重了某一个方面,如理论、实战、运维等,还没有一本书能够非常系统地阐述Storm框架。本书正是为了解决以上的各种问题而撰写的,这也是国内第一本系统讲解Storm理论、实战、运维和调优的书籍。写作本身还有一个重要因素——让大家少走弯路。这一点笔者感同身受,在使用Storm之前,开始调研、搜集、了解Storm是比较痛苦的过程,由于网上的资料参差不齐,也没有比较完全系统的实战类书籍,因此尽管自己文笔很差,也想把自己了解的,以及实战过的东西,总结出来供大家参考,帮大家少走些弯路,让Storm为我们多做点事情。本书以Storm 0.8.2为基础,不仅深入探讨了Storm的原理架构和数据模型,更重要的是通过实战案例教给读者如何运用Storm框架来设计、搭建以及实时计算海量数据,同时结合生产案例剖析Storm的运维和性能调优的技巧。读者对象本书适合以下读者阅读:(1)云计算、大数据处理技术和分布式计算处理数据爱好者“大数据”无疑是继“云计算”之后IT业界上最热的词汇。而云计算、大数据、实时处理数据本身存在交集,现在不少涉猎大数据的,以及要求数据时效性的公司已经开始深入了解Storm,本书讲解的Storm是实时处理数据的一种工具。本书可以帮助这部分读者快速而全面地了解Storm的原理、架构、使用场景和细节知识点,理解Storm在云计算、大数据时代处理数据的重要性。(2)对实时处理数据感兴趣的开发人员Hadoop技术在近几年非常热,已经是大数据处理的关键技术,而Storm作为Hadoop生态系统不足之处的补充者,已经被越来越多的公司用来满足数据实时处理的需求。本书可以帮助这部分读者详细了解Storm与Hadoop之间的不同之处,涉及Storm的基本概念、核心知识点和高级特性,并且结合实战案例讲解,使读者可以快速掌握Storm的使用。(3)开源软件爱好者Storm作为Twitter开源的项目,其实现过程中吸收了很多开源领域的优秀思想,值得我们深入研究和学习。本书在讲解过程中剖析了不少Storm的源代码,可以帮助该部分读者了解和掌握Storm框架源代码的设计方法和技巧。(4)对Clojure语言编程感兴趣的开发人员Storm是由BackType开发的实时处理系统,基本是用Clojure写的。因此了解Clojure语言对于快速掌握Storm有很大的帮助,同时如果对Clojure语言感兴趣,也可以借助Storm进行学习。
第1章 认识Storm1.1 什么是实时流计算1.2 Storm是什么1.3 Storm核心组件1.4 Storm的特性1.5 Storm的功能1.6 本章小结第2章 开始使用Storm2.1 环境准备2.2 启动模式2.3 安装部署Storm集群2.4 创建Topology并向集群提交任务2.5 本章小结第3章 核心概念和数据流模型3.1 Tuple元组3.2 Spout数据源3.3 Bolt消息处理者3.4 Topology拓扑3.5 Stream消息流和Stream Grouping消息流组3.6 Task任务3.7 Worker工作者进程3.8 Worker、Task、Executor三者之间的关系3.9 事务3.10 数据流模型3.11 本章小结
相关资源:storm企业应用 实战 运维和调优