Kafka 权威指南 PDF 文档
本书是关于 Kafka 的全面教程,主要内容包括 :Kafka 相对于其他消息队列系统的优点,主要是它如何完美匹配大数据平台开发 ;详解 Kafka 内部设计 ;用 Kafka 构建应用的最佳实践 ;理解在生产中部署 Kafka 的最佳方式 ;如何确保 Kafka 集群的安全。
本书适合 Java 开发人员、大数据平台开发人员以及对分布式系统感兴趣的读者阅读。
给予一个技术书籍作者最好的赞赏莫过于这句话——如果在一开始接触这门技术时能看到这本书就好了。在开始写这本书的时候,我们就是以这句话作为写作目标。我们开发Kafka,在生产环境运行 Kafka,帮助很多公司构建基于 Kafka 的系统,帮助他们管理数据管道,积累了很多经验,但也困惑:应该把哪些东西分享给 Kafka 新用户,让他们从新手变成专家?这本书就是我们日常工作最好的写照:运行 Kafka 并帮助其他人更好地使用 Kafka。
目录
序
前言
第 1 章 初识 Kafka
1.1 发布与订阅消息系统
1.1.1 如何开始
1.1.2 独立的队列系统
1.2 Kafka 登场
1.2.1 消息和批次
1.2.2 模式
1.2.3 主题和分区
1.2.4 生产者和消费者
1.2.5 broker 和集群
1.2.6 多集群
1.3 为什么选择 Kafka
1.3.1 多个生产者
1.3.2 多个消费者
1.3.3 基于磁盘的数据存储
1.3.4 伸缩性
1.3.5 高性能
1.4 数据生态系统
使用场景
1.5 起源故事
1.5.1 LinkedIn 的问题
1.5.2 Kafka 的诞生
1.5.3 走向开源
1.5.4 命名
1.6 开始 Kafka 之旅
第 2 章 安装 Kafka
2.1 要事先行
2.1.1 选择操作系统
2.1.2 安装 Java
2.1.3 安装 Zookeeper
2.2 安装 Kafka Broker
2.3 broker 配置
2.3.1 常规配置
2.3.2 主题的默认配置
2.4 硬件的选择
2.4.1 磁盘吞吐量
2.4.2 磁盘容量
2.4.3 内存
2.4.4 网络
2.4.5 CPU
2.5 云端的 Kafka
2.6 Kafka 集群
2.6.1 需要多少个 broker
2.6.2 broker 配置
2.6.3 操作系统调优
2.7 生产环境的注意事项
2.7.1 垃圾回收器选项
2.7.2 数据中心布局
2.7.3 共享 Zookeeper
2.8 总结
第 3 章 Kafka 生产者——向 Kafka 写入数据
3.1 生产者概览
3.2 创建 Kafka 生产者
3.3 发送消息到 Kafka
3.3.1 同步发送消息
3.3.2 异步发送消息
3.4 生产者的配置
3.5 序列化器
3.5.1 自定义序列化器
3.5.2 使用 Avro 序列化
3.5.3 在 Kafka 里使用 Avro
3.6 分区
3.7 旧版的生产者 API
3.8 总结
第 4 章 Kafka 消费者——从 Kafka 读取数据
4.1 KafkaConsumer 概念
4.1.1 消费者和消费者群组
4.1.2 消费者群组和分区再均衡
4.2 创建 Kafka 消费者
4.3 订阅主题
4.4 轮询
4.5 消费者的配置
4.6 提交和偏移量
4.6.1 自动提交
4.6.2 提交当前偏移量
4.6.3 异步提交
4.6.4 同步和异步组合提交
4.6.5 提交特定的偏移量
4.7 再均衡监听器
4.8 从特定偏移量处开始处理记录
4.9 如何退出
4.10 反序列化器
4.11 独立消费者——为什么以及怎样使用没有群组的消费者
4.12 旧版的消费者 API
4.13 总结
第 5 章 深入 Kafka
5.1 集群成员关系
5.2 控制器
5.3 复制
5.4 处理请求
5.4.1 生产请求
5.4.2 获取请求
5.4.3 其他请求
5.5 物理存储
5.5.1 分区分配
5.5.2 文件管理
5.5.3 文件格式
5.5.4 索引
5.5.5 清理
5.5.6 清理的工作原理
5.5.7 被删除的事件
5.5.8 何时会清理主题
5.6 总结
第 6 章 可靠的数据传递
6.1 可靠性保证
6.2 复制
6.3 broker 配置
6.3.1 复制系数
6.3.2 不完全的首领选举
6.3.3 最少同步副本
6.4 在可靠的系统里使用生产者
6.4.1 发送确认
6.4.2 配置生产者的重试参数
6.4.3 额外的错误处理
6.5 在可靠的系统里使用消费者
6.5.1 消费者的可靠性配置
6.5.2 显式提交偏移量
6.6 验证系统可靠性
6.6.1 配置验证
6.6.2 应用程序验证
6.6.3 在生产环境监控可靠性
6.7 总结
第 7 章 构建数据管道
7.1 构建数据管道时需要考虑的问题
7.1.1 及时性
7.1.2 可靠性
7.1.3 高吞吐量和动态吞吐量
7.1.4 数据格式
7.1.5 转换
7.1.6 安全性
7.1.7 故障处理能力
7.1.8 耦合性和灵活性
7.2 如何在 Connect API 和客户端 API 之间作出选择
7.3 Kafka Connect
7.3.1 运行 Connect
7.3.2 连接器示例——文件数据源和文件数据池
7.3.3 连接器示例——从 MySQL 到 ElasticSearch
7.3.4 深入理解 Connect
7.4 Connect 之外的选择
7.4.1 用于其他数据存储的摄入框架
7.4.2 基于图形界面的 ETL 工具
7.4.3 流式处理框架
7.5 总结
第 8 章 跨集群数据镜像
8.1 跨集群镜像的使用场景
8.2 多集群架构
8.2.1 跨数据中心通信的一些现实情况
8.2.2 Hub 和 Spoke 架构
8.2.3 双活架构
8.2.4 主备架构
8.2.5 延展集群
8.3 Kafka 的 MirrorMaker
8.3.1 如何配置
8.3.2 在生产环境部署 MirrorMaker
8.3.3 MirrorMaker 调优
8.4 其他跨集群镜像方案
8.4.1 优步的 uReplicator
8.4.2 Confluent 的 Replicator
8.5 总结
第 9 章 管理 Kafka
9.1 主题操作
9.1.1 创建主题
9.1.2 增加分区
9.1.3 删除主题
9.1.4 列出集群里的所有主题
9.1.5 列出主题详细信息
9.2 消费者群组
9.2.1 列出并描述群组
9.2.2 删除群组
9.2.3 偏移量管理
9.3 动态配置变更
9.3.1 覆盖主题的默认配置
9.3.2 覆盖客户端的默认配置
9.3.3 列出被覆盖的配置
9.3.4 移除被覆盖的配置
9.4 分区管理
9.4.1 首选的首领选举
9.4.2 修改分区副本
9.4.3 修改复制系数
9.4.4 转储日志片段
9.4.5 副本验证
9.5 消费和生产
9.5.1 控制台消费者
9.5.2 控制台生产者
9.6 客户端 ACL
9.7 不安全的操作
9.7.1 移动集群控制器
9.7.2 取消分区重分配
9.7.3 移除待删除的主题
9.7.4 手动删除主题
9.8 总结
第 10 章 监控 Kafka
10.1 度量指标基础
10.1.1 度量指标在哪里
10.1.2 内部或外部度量
10.1.3 应用程序健康检测
10.1.4 度量指标的覆盖面
10.2 broker 的度量指标
10.2.1 非同步分区
10.2.2 broker 度量指标
10.2.3 主题和分区的度量指标
10.2.4 Java 虚拟机监控
10.2.5 操作系统监控
10.2.6 日志
10.3 客户端监控
10.3.1 生产者度量指标
10.3.2 消费者度量指标
10.3.3 配额
10.4 延时监控
10.5 端到端监控
10.6 总结
第 11 章 流式处理
11.1 什么是流式处理
11.2 流式处理的一些概念
11.2.1 时间
11.2.2 状态
11.2.3 流和表的二元性
11.2.4 时间窗口
11.3 流式处理的设计模式
11.3.1 单个事件处理
11.3.2 使用本地状态
11.3.3 多阶段处理和重分区
11.3.4 使用外部查找——流和表的连接
11.3.5 流与流的连接
11.3.6 乱序的事件
11.3.7 重新处理
11.4 Streams 示例
11.4.1 字数统计
11.4.2 股票市场统计
11.4.3 填充点击事件流
11.5 Kafka Streams 的架构概览
11.5.1 构建拓扑
11.5.2 对拓扑进行伸缩
11.5.3 从故障中存活下来
11.6 流式处理使用场景
11.7 如何选择流式处理框架
11.8 总结
附录 A 在其他操作系统上安装 Kafka
A.1 在 Windows 上安装 Kafka
A.1.1 使用 Windows 的 Linux 子系统
A.1.2 使用本地 Java
A.2 在 MacOS 上安装 Kafka
A.2.1 使用 Homebrew
A.2.2 手动安装
作者介绍
封面介绍
连接图灵
看完了
下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/01/12ABo6Q9Wyajgozq.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论