《Storm实时数据处理》一导读

简介: 开源已经在许多方面从根本上改变了软件的原有面貌。在很多应用环境中,人们都会争论使用开源带来的好处和坏处,主要体现在支持、风险以及总体拥有成本等方面。开源在某些领域比其他领域流行,比如在研究机构中就比在大型金融服务提供商中应用得多。


image

前  言

开源已经在许多方面从根本上改变了软件的原有面貌。在很多应用环境中,人们都会争论使用开源带来的好处和坏处,主要体现在支持、风险以及总体拥有成本等方面。开源在某些领域比其他领域流行,比如在研究机构中就比在大型金融服务提供商中应用得多。在某些新兴领域,比如Web服务供应商、内容供应商以及社交网络等,开源软件占据主导地位。其原因是多方面的,其中成本是一个非常大的因素。怎么说呢?如果方案要上升到网络规模,那么一般会应用“大数据”解决方案,以期获得更好的效果。凭借极佳的可用性,这些解决方案每秒处理数百万条请求,同时通过各式各样的服务为客户提供定制体验。
这种规模的系统设计需要我们用不同的方式思考问题,采用不同的架构解决方案,而且要了解什么时候应该接受系统的复杂性以及什么时候应该避免这种复杂性。作为行业中人,我们应该掌握这种大规模批处理系统的设计方法。由MapReduce、Bulk Synchronous Parallel以及其他计算范式衍生而来的大规模计算集群已经广泛实施,并且得到了很好的理解。开源掀起了创新浪潮,并推动其发展,而即使是顶级软件开发商也只能努力将Hadoop集成到自家的技术架构中,更别提试图与开源竞争了。
然而,客户是永不满足的,他们想要更多的数据、更多的服务、更多的价值、更多的便利,而且现在就要,并希望成本更低。随着数据量的增加,对实时响应时间的需求也在提高。专注于实时性、规模化的计算平台新时代已经来临。这带来了许多新的挑战,不管是理论上还是实践上都具有挑战性。
本书将帮助你掌握一个平台:Storm处理系统。Storm处理系统是一个开源的、实时的计算平台,最初由社交分析公司Backtype的Nathan Marz编写,后来被Twitter收购,并作为开源软件发布。从那时起,该平台茁壮成长,目前已经成长为一个日益扩大的开源社区:拥有众多用户、贡献者以及产品页面上的成功案例。写这篇前言的时候,该项目在GitHub上拥有超过6000个星、3000多个Twitter粉丝,每个节点每秒可以完成超过100万次交易,而且有近80名相关用户在使用Storm产品实例。这些数字极其可观。此外,在本书的结尾你会发现,无论你用哪种语言(与你的思维方式以及解决方案交付方式相一致的语言)研发系统,以Storm平台为基础都会非常愉快。
本书通过一系列实例指导你学习Storm。书中的例子源于实战用例,并随着内容的展开介绍各种概念。此外,本书旨在围绕Storm技术促进DevOps实践,使读者能够开发Storm解决方案,同时可靠地交付具有价值的产品。

目  录

第1章 搭建开发环境 /
1.1  简介
1.2  搭建开发环境
1.3  分布式版本控制
1.4  创建“Hello World”Topology
1.5  创建Storm集群——配置机器
1.6  创建Storm集群——配置Storm
1.7  获取基本的点击率统计信息
1.8  对Bolt进行单元测试
1.9  实现集成测试
1.10  将产品部署到集群
第2章 日志流处理 /
2.1  简介
2.2  创建日志代理
2.3  创建日志Spout
2.4  基于规则的日志流分析
2.5  索引与持久化日志数据
2.6  统计与持久化日志统计信息
2.7  为日志流集群创建集成测试
2.8  创建日志分析面板
第3章 使用Trident计算单词重要度 /
3.1 简介 /
3.2 使用Twitter过滤器创建URL流 /
3.3 从文件中获取整洁的词流 /
3.4 计算每个单词的相对重要度 /
第4章 分布式远程过程调用 /
4.1 简介 /
4.2 通过DPRC实现所需处理流程 /
4.3 对Trident Topology进行集成测试 /
4.4 实现滚动窗口Topology /
4.5 在集成测试中模拟时间 /
第5章 在不同语言中实现Topology /
5.1 简介 /
5.2 在Qt中实现多语言协议 /
5.3 在Qt中实现SplitSentence Bolt /
5.4 在Ruby中实现计数 Bolt /
5.5 在Clojure中实现单词计数Topology /
第6章 Storm与Hadoop集成 /
6.1 简介 /
6.2 在Hadoop中实现TF-IDF算法 /
6.3 持久化来自Storm的文件 /
6.4 集成批处理与实时视图 /
第7章 实时机器学习 /
7.1 简介 /
7.2 实现事务性Topology /
7.3 在R中创建随机森林分类模型 /
7.4 基于随机森林的事务流业务分类 /
7.5 在R中创建关联规则模型 /
7.6 创建推荐引擎 /
7.7 实时在线机器学习 /
第8章 持续交付 /
8.1 简介 /
8.2 搭建CI服务器 /
8.3 搭建系统环境 /
8.4 定义交付流水线 /
8.5 实现自动化验收测试 /
第9章 在AWS上部署Storm /
9.1 简介 /
9.2 使用Pallet在AWS上部署Storm /
9.3  搭建虚拟私有云 /
9.4 使用Vagrant在虚拟私有云上部署Storm /

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
SQL 数据库连接 数据库
【SQL Server】2. 将数据导入导出到Excel表格当中
【SQL Server】2. 将数据导入导出到Excel表格当中
893 0
|
8月前
|
机器学习/深度学习 缓存 前端开发
讨论下llm的prefix caching机制
本文探讨LLM推理中Prefix Caching机制的原理与实践:解释为何将动态内容(如React循环中的tool call结果)放在system prompt会破坏缓存命中,导致成本激增;强调应将变量部分置于user prompt末尾,以最大化复用system+固定user前缀的KV缓存,显著降本提效
1053 7
|
10月前
|
存储 人工智能 安全
构建AI智能体:四十八、从单体智能到群体智能:A2A协议如何重塑人机协作新范式
本文介绍了基于A2A(Agent-to-Agent)协议的智能代理系统在篮球赛安排中的应用。该系统通过多代理协作(天气、场地、日历、通知代理)实现自动化决策,相比传统API具有动态发现、语义化描述和自主决策优势。文章详细阐述了单代理(天气查询)到多代理系统的演进过程,展示了A2A协议在服务发现、任务标准化和安全通信方面的核心技术特性。该系统采用分级决策机制,优先检查天气安全条件,再验证场地和参与者可用性,最后触发通知流程,体现了分布式智能的协同效应和业务敏捷性。
520 2
|
缓存 监控 供应链
京东自定义 API 操作深度分析及 Python 实现
京东开放平台提供丰富API接口,支持商品、订单、库存等电商全链路场景。通过自定义API组合调用,可实现店铺管理、数据分析、竞品监控等功能,提升运营效率。本文详解其架构、Python实现与应用策略。
|
机器学习/深度学习 监控 安全
Jailbreak 36计————向天再借500分
本内容由IT老兵“老李”倾情奉献,结合《三十六计》智慧,深入剖析大语言模型越狱攻击的36种策略。每计包含思路、详解、案例、防御与点评,内容详实,实战性强,助你在“大模型安全挑战者计划”中脱颖而出。
1917 8
|
SQL Java 数据库连接
SQL SELECT语句的基本用法
SQL SELECT语句的基本用法
|
运维 监控 安全
Landing Zone一站式上云框架场景和实践
本文将介绍阿里云Landing Zone的方案、应用场景及新功能。Landing Zone是云上安全可控、可扩展的架构,涵盖资源规划、财务管理、身份权限、合规审计、网络规划、安全防护、运维管理和自动化模块八大方面,帮助企业敏捷创新并满足IT治理需求。具体应用包括零售行业的多品牌管理、生命科学的数据交换、自动驾驶的合规监管和金融行业的严格合规要求。新功能则聚焦于财年上线的统一管控产品,如配额管理、Prometheus监控和网络IPAM方案,以及降低跨账号安全门槛。
|
SQL 关系型数据库 数据库连接

热门文章

最新文章