118
社区成员
发帖
与我相关
我的任务
分享
作为新一代的开源流处理器,Flink是众多大数据处理框架中一颗冉冉升起的新星。它以同一种技术支持流处理和批处理,并能同时满足高吞吐、低延迟和容错的需求。本书由Flink项目核心成员执笔,系统阐释Flink的适用场景、设计理念、功能、用途和性能优势。
- Flink的适用场景
- 流处理架构相较于批处理架构的优势
- Flink中的时间概念
- Flink的检查点机制
- Flink的性能优势
近年来,流处理变得越来越流行。作为高度创新的开源流处理器,Flink拥有诸多优势,包括容错性、高吞吐、低延迟,以及同时支持流处理和批处理的能力。本书分为6章,侧重于介绍Flink的核心设计理念、功能和用途,内容涉及事件时间和处理时间、窗口和水印机制、检查点机制、性能测评,以及Flink如何实现批处理。
本书面向有兴趣学习如何分析大规模流数据的读者。
埃伦·弗里德曼(Ellen Friedman)
解决方案咨询师,知名大数据相关技术布道师,在流处理架构和大数据处理框架等方面有多部著作。
科斯塔斯·宙马斯(Kostas Tzoumas)
Flink项目核心成员,data Artisans公司联合创始人兼首席执行官,在流处理和数据科学领域经验丰富。
译者介绍
王绍翾
阿里巴巴资 深技术专家,Apache Flink Committer,淘宝花名“大沙”。毕业于北京大学信息科学技术学院,后取得加州大学圣地亚哥分校计算机工程博士学位。目前就职于阿里巴巴计算平台事业部,负责Flink SQL引擎及机器学习的相关开发。加入阿里巴巴之前,在Facebook开发分布式图存储系统TAO。曾多次拜访由Flink创始团队创办的公司data Artisans,并与其首席执行官科斯塔斯·宙马斯(本书作者之一)以及首 席技术官斯蒂芬·尤恩有着广泛的合作。
O'Reilly Media, Inc. 介绍
业界评论
前言
如何阅读本书
排版约定
第 1 章 为何选择 Flink
1.1 流处理欠佳的后果
1.1.1 零售业和市场营销
1.1.2 物联网
1.1.3 电信业
1.1.4 银行和金融业
1.2 连续事件处理的目标
1.3 流处理技术的演变
1.4 初探Flink
批处理与流处理
1.5 生产环境中的Flink
1.5.1 布衣格电信
1.5.2 其他案例
1.6 Flink的适用场景
第 2 章 流处理架构
2.1 传统架构与流处理架构
2.2 消息传输层和流处理层
2.3 消息传输层的理想功能
2.3.1 兼具高性能和持久性
2.3.2 将生产者和消费者解耦
2.4 支持微服务架构的流数据
2.4.1 数据流作为中心数据源
2.4.2 欺诈检测:流处理架构用例
2.4.3 给开发人员带来的灵活性
2.5 不限于实时应用程序
2.6 流的跨地域复制
第 3 章 Flink 的用途
3.1 不同类型的正确性
3.1.1 符合产生数据的自然规律
3.1.2 事件时间
3.1.3 发生故障后仍保持准确
3.1.4 及时给出所需结果
3.1.5 使开发和运维更轻松
3.2 分阶段采用Flink
第 4 章 对时间的处理
4.1 采用批处理架构和Lambda架构计数
4.2 采用流处理架构计数
流处理系统中的批处理
4.3 时间概念
4.4 窗口
4.4.1 时间窗口
4.4.2 计数窗口
4.4.3 会话窗口
4.4.4 触发器
4.4.5 窗口的实现
4.5 时空穿梭
4.6 水印
水印是如何生成的
4.7 真实案例:爱立信公司的Kappa架构
第 5 章 有状态的计算
5.1 一致性
5.2 检查点:保证exactly-once
5.3 保存点:状态版本控制
5.4 端到端的一致性和作为数据库的流处理器
5.5 Flink的性能
5.5.1 Yahoo! Streaming Benchmark
5.5.2 变化1:使用Flink状态
5.5.3 变化2:改进数据生成器并增加吞吐量
5.5.4 变化3:消除网络瓶颈
5.5.5 变化4:使用MapR Streams
5.5.6 变化5:增加key基数
5.6 结论
第 6 章 批处理:一种特殊的流处理
6.1 批处理技术
6.2 案例研究:Flink作为批处理器
附录 其他资源
进一步使用Flink
关于时间和窗口的更多内容
关于状态和检查点的更多内容
用Flink进行批处理
Flink用例和用户故事
流处理架构
消息传输:Kafka
消息传输:MapR Streams
Ted Dunning和Ellen Friedman的部分著作
关于作者