4.3 用户推荐指数
科技
类型
7.8
豆瓣评分
可以朗读
语音朗读
232千字
字数
2020-02-01
发行日期
展开全部
主编推荐语
透过现象看本质,掌握高性能、高并发、实时系统设计与权衡之道。
内容简介
全书分为11章。第1章介绍了实时流计算技术的产生背景、使用场景和通用架构。第2章通过实时流计算数据的采集,详细分析了Java高性能编程的理论基础。第3-6章通过从头构造一个分布式实时流计算框架,详细剖析了实时流计算中的几个核心概念和技术重点,并通过多个开源流计算平台的实现来验证这些核心概念和技术重点。第7章谈论了当实在做不到“实时”时,我们应该作出的备选方案。第8-10章阐述了构建一个完整实时流计算系统时,必要的周边辅助系统。第11章给出实时流计算应用案例。
目录
- 版权信息
- 前言
- 第1章 实时流计算
- 1.1 大数据时代的新挑战:实时流计算
- 1.2 实时流计算使用场景
- 1.3 实时流数据的特点
- 1.4 实时流计算系统架构
- 1.4.1 数据采集
- 1.4.2 数据传输
- 1.4.3 数据处理
- 1.4.4 数据存储
- 1.4.5 数据展示
- 1.5 本章小结
- 第2章 数据采集
- 2.1 设计数据采集的接口
- 2.2 使用Sprin Boot实现数据采集服务器
- 2.3 BIO与NIO
- 2.3.1 BIO连接器
- 2.3.2 NIO连接器
- 2.4 NIO和异步
- 2.4.1 CPU密集型任务
- 2.4.2 I/O密集型任务
- 2.4.3 I/O和CPU都密集型任务
- 2.4.4 纤程
- 2.4.5 Actor
- 2.4.6 NIO配合异步编程
- 2.5 使用Netty实现数据采集服务器
- 2.5.1 使用Netty实现数据采集API
- 2.5.2 异步编程
- 2.5.3 流量控制和反向压力
- 2.5.4 实现反向压力
- 2.5.5 异步的不足之处
- 2.6 本章小结
- 第3章 实现单节点流计算应用
- 3.1 自己动手写实时流计算框架
- 3.1.1 用DAG描述流计算过程
- 3.1.2 造一个流计算框架的轮子
- 3.1.3 实现特征提取DAG节点
- 3.1.4 实现特征提取DAG拓扑
- 3.2 CompletableFuture方法与原理
- 3.2.1 常用的CompletableFuture类方法
- 3.2.2 CompletableFuture的工作原理
- 3.3 采用CompletableFuture实现单节点流处理
- 3.3.1 基于CompletableFuture实现流计算应用
- 3.3.2 反向压力
- 3.3.3 死锁
- 3.3.4 再论流与异步的关系
- 3.4 流计算应用的性能调优
- 3.4.1 优化机制
- 3.4.2 优化工具
- 3.4.3 线程状态
- 3.4.4 优化方向
- 3.5 本章小结
- 第4章 数据处理
- 4.1 流计算到底在计算什么
- 4.2 流数据操作
- 4.2.1 过滤
- 4.2.2 映射
- 4.2.3 展开映射
- 4.2.4 聚合
- 4.2.5 关联
- 4.2.6 分组
- 4.2.7 遍历
- 4.3 时间维度聚合特征计算
- 4.4 关联图谱特征计算
- 4.4.1 一度关联
- 4.4.2 二度关联
- 4.5 事件序列分析
- 4.5.1 CEP编程模式
- 4.5.2 Flink CEP实例
- 4.6 模型学习和预测
- 4.6.1 统计学习模型
- 4.6.2 P-value检验
- 4.6.3 机器学习模型
- 4.7 本章小结
- 第5章 实时流计算的状态管理
- 5.1 流的状态
- 5.1.1 流数据状态
- 5.1.2 流信息状态
- 5.2 采用Redis实现流信息状态管理
- 5.2.1 时间维度聚合特征计算
- 5.2.2 一度关联特征计算
- 5.3 采用Apache Ignite实现流信息状态管理
- 5.3.1 时间维度聚合分析
- 5.3.2 一度关联特征计算
- 5.4 扩展为集群
- 5.4.1 基于Redis的状态集群
- 5.4.2 局部性原理
- 5.4.3 批次请求处理
- 5.4.4 基于Apache Ignite的状态集群
- 5.4.5 基于分布式文件系统的状态管理集群
- 5.5 本章小结
- 第6章 开源流计算框架
- 6.1 Apache Storm
- 6.1.1 系统架构
- 6.1.2 流的描述
- 6.1.3 流的执行
- 6.1.4 流的状态
- 6.1.5 消息传达可靠性保证
- 6.2 Spark Streaming
- 6.2.1 系统架构
- 6.2.2 流的描述
- 6.2.3 流的执行
- 6.2.4 流的状态
- 6.2.5 消息传达可靠性保证
- 6.3 Apache Samza
- 6.3.1 系统架构
- 6.3.2 流的描述
- 6.3.3 流的执行
- 6.3.4 流的状态
- 6.3.5 消息传达可靠性保证
- 6.4 Apache Flink
- 6.4.1 系统架构
- 6.4.2 流的描述
- 6.4.3 流的执行
- 6.4.4 流的状态
- 6.4.5 消息传达可靠性
- 6.5 本章小结
- 第7章 当做不到实时
- 7.1 做不到实时的原因
- 7.2 Lambda架构
- 7.2.1 数据系统和Lambda架构思想
- 7.2.2 Lambda架构
- 7.2.3 Lambda架构在实时流计算中的运用
- 7.3 Kappa架构与架构实例
- 7.3.1 Kappa架构
- 7.3.2 Kappa架构实例
- 7.4 本章小结
- 第8章 数据传输
- 8.1 消息中间件
- 8.1.1 为什么使用消息中间件
- 8.1.2 消息中间件的工作模式
- 8.1.3 消息模式
- 8.1.4 使用消息中间件的注意事项
- 8.2 Apache Kafka
- 8.2.1 Kafka架构
- 8.2.2 Kafka生产者
- 8.2.3 Kafka消费者
- 8.2.4 将Kafka用于数据总线
- 8.3 RabbitMQ
- 8.3.1 RabbitMQ架构
- 8.3.2 RabbitMQ的使用
- 8.3.3 将RabbitMQ用于配置总线
- 8.4 Apache Camel
- 8.4.1 使用Apache Camel集成系统
- 8.4.2 使用Apache camel管理流数据路由
- 8.5 本章小结
- 第9章 数据存储
- 9.1 存储的设计原则
- 9.2 点查询
- 9.2.1 数据灵活性
- 9.2.2 MongoDB数据库
- 9.2.3 数据过期和按时间分表
- 9.3 Ad-Hoc查询
- 9.3.1 倒排索引
- 9.3.2 ElasticSearch
- 9.3.3 分索引存储
- 9.4 离线分析
- 9.4.1 存储
- 9.4.2 处理和分析
- 9.4.3 调度
- 9.5 关系型数据库查询
- 9.6 本章小结
- 第10章 服务治理和配置管理
- 10.1 服务治理
- 10.1.1 流服务和微服务
- 10.1.2 微服务框架Spring Cloud
- 10.2 面向配置编程
- 10.2.1 面向配置编程思想
- 10.2.2 更高级的配置:领域特定语言
- 10.3 动态配置
- 10.4 将前端配置与后端服务配置隔离开
- 10.5 本章小结
- 第11章 实时流计算应用案例
- 11.1 实时流数据特征提取引擎
- 11.1.1 流数据特征提取引擎DSL定义
- 11.1.2 实现原理
- 11.1.3 具体实现
- 11.2 使用Flink实现风控引擎
- 11.2.1 实现原理
- 11.2.2 具体实现
- 11.3 本章小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。