且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Storm企业级应用:实战、运维和调优》——导读

更新时间:2022-10-09 11:32:12


《Storm企业级应用:实战、运维和调优》——导读

**
前言
**
大数据是继云计算、物联网之后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章 认识Storm
1.1 什么是实时流计算
1.2 Storm是什么
1.3 Storm核心组件
1.4 Storm的特性
1.5 Storm的功能
1.6 本章小结
第2章 开始使用Storm
2.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 本章小结