万本电子书0元读

万本电子书0元读

顶部广告

Kafka Streams实战电子书

并非所有基于流的应用程序都需要处理集群,轻量级、简单易用的Kafka Streams库提供了微服务和实时事件处理中行消息处理所需的强大功能。使用Kafka Streams API,只需使用Kafka及相应的流式应用程序可以对数据流行过滤和转换。 本书教读者在Kafka平台上实现流式处理。在这本易于理解的书中,读者将通过实际的例子来收集、转换和聚合数据,使用多个处理器,处理实时事件,可以使用KSQL 深研究流式SQL。本书还讲解了Kafka Streams应用程序的测试和运维方面的内容(如监控和调试)。

售       价:¥

纸质售价:¥54.00购买纸书

226人正在读 | 0人评论 6.2

作       者:(美)小威廉·P. 贝杰克(William P. Bejeck Jr.)

出  版  社:人民邮电出版社有限公司

出版时间:2019-05-01

字       数:22.0万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Kafka Streams是Kafka提供的一个用于构建流式处理程序的Java库,它与Storm、Spark等流式处理框架不同,是一个仅依赖于Kafka的Java库,而不是一个流式处理框架。除Kafka之外,Kafka Streams不需要额外的流式处理集群,提供了轻量级、易用的流式处理API。 本书包括4部分,共9章,从基础API到复杂拓扑的应用,通过具体示例由浅深地详细介绍了Kafka Streams基础知识及使用方法。本书的主要内容包含流式处理发展历程和Kafka Streams工作原理的介绍,Kafka基础知识的介绍,使用Kafka Streams实现一个具体流式处理应用程序,讨论状态存储及其使用方法,讨论表和流的二元性及使用场景,介绍Kafka Streams应用程序的监控及测试方法,介绍使用Kafka Connect将现有数据源集成到Kafka Streams中,使用KSQL行交互式查询等。 本书适合使用Kafka Streams实现流式处理应用的发人员阅读。 Kafka Streams是Kafka提供的一个用于构建流式处理程序的Java库,它与Storm、Spark等流式处理框架不同,是一个仅依赖于Kafka的Java库,而不是一个流式处理框架。除Kafka之外,Kafka Streams不需要额外的流式处理集群,提供了轻量级、易用的流式处理API。 本书包括4部分,共9章,从基础API到复杂拓扑的应用,通过具体示例由浅深地详细介绍了Kafka Streams基础知识及使用方法。本书的主要内容包含流式处理发展历程和Kafka Streams工作原理的介绍,Kafka基础知识的介绍,使用Kafka Streams实现一个具体流式处理应用程序,讨论状态存储及其使用方法,讨论表和流的二元性及使用场景,介绍Kafka Streams应用程序的监控及测试方法,介绍使用Kafka Connect将现有数据源集成到Kafka Streams中,使用KSQL行交互式查询等。 本书适合使用Kafka Streams实现流式处理应用的发人员阅读。
【推荐语】
并非所有基于流的应用程序都需要处理集群,轻量级、简单易用的Kafka Streams库提供了微服务和实时事件处理中行消息处理所需的强大功能。使用Kafka Streams API,只需使用Kafka及相应的流式应用程序可以对数据流行过滤和转换。 本书教读者在Kafka平台上实现流式处理。在这本易于理解的书中,读者将通过实际的例子来收集、转换和聚合数据,使用多个处理器,处理实时事件,可以使用KSQL 深研究流式SQL。本书还讲解了Kafka Streams应用程序的测试和运维方面的内容(如监控和调试)。 本书主要内容 ● 使用KStream API。 ● 过滤、转换和拆分数据。 ● 使用处理器API。 ● 与外部系统集成。 如果读者具备分布式系统的一些经验,那么Kafka或流式应用程序的知识并不是必需的。
【作者】
小威廉·P. 贝杰克(William P. Bejeck Jr.,本名Bill Bejeck)是Kafka Streams源码贡献者,在Conflument公司的Kafka Streams团队工作,有15年以上的软件发经验,其中8年专注于后端发,特别是处理大量数据,在数据提炼团队中,使用Kafka来改善下游客户的数据流。
目录展开

版权声明

内容提要

中文版序

译者序

译者简介

前言

资源与支持

配套资源

提交勘误

与我们联系

关于异步社区和异步图书

致谢

关于作者

关于本书

读者对象

本书组织结构:路线图

关于代码

图书论坛

其他在线资源

关于封面插图

第一部分 开启Kafka Streams之旅

第1章 欢迎来到Kafka Streams

1.1 大数据的发展以及它是如何改变程序设计方式的

1.1.1 大数据起源

1.1.2 MapReduce中的重要概念

1.1.3 批处理还不够

1.2 流式处理简介

何时使用流式处理和何时不使用它

1.3 处理购买交易

1.3.1 权衡流式处理的选择

1.3.2 将需求解构为图表

1.4 改变看待购买交易的视角

1.4.1 源节点

1.4.2 信用卡屏蔽节点

1.4.3 模式节点

1.4.4 奖励节点

1.4.5 存储节点

1.5 Kafka Streams在购买处理节点图中的应用

1.6 Kafka Streams在购买交易流中的应用

1.6.1 定义源

1.6.2 第一个处理器:屏蔽信用卡号码

1.6.3 第二个处理器:购买模式

1.6.4 第三个处理器:客户奖励

1.6.5 第四个处理器:写入购买记录

1.7 小结

第2章 Kafka快速指南

2.1 数据问题

2.2 使用Kafka处理数据

2.2.1 ZMart原始的数据平台

2.2.2 一个Kafka销售交易数据中心

2.3 Kafka架构

2.3.1 Kafka是一个消息代理

2.3.2 Kafka是一个日志

2.3.3 Kafka日志工作原理

2.3.4 Kafka和分区

2.3.5 分区按键对数据进行分组

2.3.6 编写自定义分区器

2.3.7 指定一个自定义分区器

2.3.8 确定恰当的分区数

2.3.9 分布式日志

2.3.10 ZooKeeper:领导者、追随者和副本

2.3.11 Apache ZooKeeper

2.3.12 选择一个控制器

2.3.13 副本

2.3.14 控制器的职责

2.3.15 日志管理

2.3.16 日志删除

2.3.17 日志压缩

2.4 生产者发送消息

2.4.1 生产者属性

2.4.2 指定分区和时间戳

2.4.3 指定分区

2.4.4 Kafka中的时间戳

2.5 消费者读取消息

2.5.1 管理偏移量

2.5.2 自动提交偏移量

2.5.3 手动提交偏移量

2.5.4 创建消费者

2.5.5 消费者和分区

2.5.6 再平衡

2.5.7 更细粒度的消费者分配

2.5.8 消费者示例

2.6 安装和运行Kafka

2.6.1 Kafka本地配置

2.6.2 运行Kafka

2.6.3 发送第一条消息

2.7 小结

第二部分 Kafka Streams开发篇

第3章 开发Kafka Streams

3.1 流式处理器API

3.2 Kafka Streams的Hello World

3.2.1 构建“Yelling App”的拓扑

3.2.2 Kafka Streams配置

3.2.3 Serde的创建

3.3 处理客户数据

3.3.1 构建一个拓扑

3.3.2 创建一个自定义的Serde

3.4 交互式开发

3.5 下一步

3.5.1 新需求

3.5.2 将记录写入Kafka之外

3.6 小结

第4章 流和状态

4.1 事件的思考

流需要状态

4.2 将状态操作应用到Kafka Stream

4.2.1 值转换处理器

4.2.2 有状态的客户奖励

4.2.3 初始化值转换器

4.2.4 使用状态将Purchase对象映射为RewardAccumulator

4.2.5 更新奖励处理器

4.3 使用状态存储查找和记录以前看到的数据

4.3.1 数据本地化

4.3.2 故障恢复和容错

4.3.3 Kafka Streams使用状态存储

4.3.4 其他键/值存储供应者

4.3.5 状态存储容错

4.3.6 配置变更日志主题

4.4 连接流以增加洞察力

4.4.1 设置数据

4.4.2 生成包含客户ID的键来执行连接

4.4.3 构建连接

4.4.4 其他连接选项

4.5 Kafka Streams中的时间戳

4.5.1 自带的时间戳提取器实现类

4.5.2 WallclockTimestampExtractor

4.5.3 自定义时间戳提取器

4.5.4 指定一个时间戳提取器

4.6 小结

第5章 KTable API

5.1 流和表之间的关系

5.1.1 记录流

5.1.2 更新记录或变更日志

5.1.3 事件流与更新流对比

5.2 记录更新和KTable配置

5.2.1 设置缓存缓冲大小

5.2.2 设置提交间隔

5.3 聚合和开窗操作

5.3.1 按行业汇总股票成交量

5.3.2 开窗操作

5.3.3 连接KStream和KTable

5.3.4 GlobalKTable

5.3.5 可查询的状态

5.4 小结

第6章 处理器API

6.1 更高阶抽象与更多控制的权衡

6.2 使用源、处理器和接收器创建一个拓扑

6.2.1 添加一个源节点

6.2.2 添加一个处理器节点

6.2.3 增加一个接收器节点

6.3 通过股票分析处理器深入研究处理器API

6.3.1 股票表现处理器应用程序

6.3.2 process()方法

6.3.3 punctuator执行

6.4 组合处理器

构建组合处理器

6.5 集成处理器API和Kafka Streams API

6.6 小结

第三部分 管理Kafka Streams

第7章 监控和性能

7.1 Kafka基本监控

7.1.1 测评消费者和生产者性能

7.1.2 检查消费滞后

7.1.3 拦截生产者和消费者

7.2 应用程序指标

7.2.1 指标配置

7.2.2 如何连接到收集到的指标

7.2.3 使用JMX

7.2.4 查看指标

7.3 更多Kafka Streams调试技术

7.3.1 查看应用程序的表现形式

7.3.2 获取应用程序各种状态的通知

7.3.3 使用状态监听器

7.3.4 状态恢复监听器

7.3.5 未捕获的异常处理器

7.4 小结

第8章 测试Kafka Streams应用程序

8.1 测试拓扑

8.1.1 构建测试用例

8.1.2 测试拓扑中的状态存储

8.1.3 测试处理器和转换器

8.2 集成测试

构建集成测试

8.3 小结

第四部分 Kafka Streams进阶

第9章 Kafka Streams的高级应用

9.1 将Kafka与其他数据源集成

9.1.1 使用Kafka Connect集成数据

9.1.2 配置Kafka Connect

9.1.3 转换数据

9.2 替代数据库

9.2.1 交互式查询的工作原理

9.2.2 分配状态存储

9.2.3 创建和查找分布式状态存储

9.2.4 编写交互式查询

9.2.5 查询服务器内部

9.3 KSQL

9.3.1 KSQL流和表

9.3.2 KSQL架构

9.3.3 安装和运行KSQL

9.3.4 创建一个KSQL流

9.3.5 编写KSQL查询

9.3.6 创建一张KSQL表

9.3.7 配置KSQL

9.4 小结

附录A 额外的配置信息

A.1 限制启动时再平衡的数量

A.2 应对代理中断的能力

A.3 处理反序列化错误

A.4 扩展应用程序

A.5 RocksDB配置

A.6 提前创建重新分区的主题

A.7 配置内部主题

A.8 重置Kafka Streams应用程序

A.9 清理本地状态

附录B 精确一次处理语义

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部