当前位置:主页 > 计算机电子书 > 程序设计 > Kafka下载
Kafka权威指南

Kafka权威指南 PDF 影印中文版

  • 更新:2019-06-29
  • 大小:125.2 MB
  • 类别:Kafka
  • 作者:妮哈·纳克海德
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

Kafka权威指南

内容介绍

每个应用程序都会产生数据,包括日志消息、度量指标、用户活动记录、响应消息等。如何移动数据,几乎变得与数据本身一样重要。如果你是架构师、开发者或者产品工程师,同时也是Apache Kafka新手,那么这本实践指南将会帮助你成为流式平台上处理实时数据的专家。

本书由出身于LinkedIn的Kafka核心作者和一线技术人员共同执笔,详细介绍了如何部署Kafka集群、开发可靠的基于事件驱动的微服务,以及基于Kafka平台构建可伸缩的流式应用程序。通过详尽示例,你将会了解到Kafka的设计原则、可靠性保证、关键API,以及复制协议、控制器和存储层等架构细节。

目录

  • 序 xiii
  • 前言 xv
  • 第 1 章 初识Kafka 1
  • 1.1 发布与订阅消息系统 1
  • 1.1.1 如何开始 2
  • 1.1.2 独立的队列系统 3
  • 1.2 Kafka登场 4
  • 1.2.1 消息和批次 4
  • 1.2.2 模式 4
  • 1.2.3 主题和分区 5
  • 1.2.4 生产者和消费者 5
  • 1.2.5 broker和集群 6
  • 1.2.6 多集群 7
  • 1.3 为什么选择Kafka 8
  • 1.3.1 多个生产者 8
  • 1.3.2 多个消费者 8
  • 1.3.3 基于磁盘的数据存储 9
  • 1.3.4 伸缩性 9
  • 1.3.5 高性能 9
  • 1.4 数据生态系统 9
  • 1.5 起源故事 11
  • 1.5.1 LinkedIn的问题 11
  • 1.5.2 Kafka的诞生 12
  • 1.5.3 走向开源 12
  • 1.5.4 命名 13
  • 1.6 开始Kafka之旅 13
  • 第 2 章 安装Kafka 14
  • 2.1 要事先行 14
  • 2.1.1 选择操作系统 14
  • 2.1.2 安装Java 14
  • 2.1.3 安装Zookeeper 15
  • 2.2 安装Kafka Broker 17
  • 2.3 broker配置 18
  • 2.3.1 常规配置 18
  • 2.3.2 主题的默认配置 19
  • 2.4 硬件的选择 23
  • 2.4.1 磁盘吞吐量 23
  • 2.4.2 磁盘容量 23
  • 2.4.3 内存 23
  • 2.4.4 网络 24
  • 2.4.5 CPU 24
  • 2.5 云端的Kafka 24
  • 2.6 Kafka集群 24
  • 2.6.1 需要多少个broker 25
  • 2.6.2 broker 配置 25
  • 2.6.3 操作系统调优 26
  • 2.7 生产环境的注意事项 28
  • 2.7.1 垃圾回收器选项 28
  • 2.7.2 数据中心布局 29
  • 2.7.3 共享Zookeeper 29
  • 2.8 总结 30
  • 第 3 章 Kafka生产者——向Kafka写入数据 31
  • 3.1 生产者概览 32
  • 3.2 创建Kafka生产者 33
  • 3.3 发送消息到Kafka 34
  • 3.3.1 同步发送消息 35
  • 3.3.2 异步发送消息 35
  • 3.4 生产者的配置 36
  • 3.5 序列化器 39
  • 3.5.1 自定义序列化器 39
  • 3.5.2 使用Avro序列化 41
  • 3.5.3 在Kafka里使用Avro 42
  • 3.6 分区 45
  • 3.7 旧版的生产者API 46
  • 3.8 总结 47
  • 第 4 章 Kafka消费者——从Kafka读取数据 48
  • 4.1 KafkaConsumer概念 48
  • 4.1.1 消费者和消费者群组 48
  • 4.1.2 消费者群组和分区再均衡 51
  • 4.2 创建Kafka消费者 52
  • 4.3 订阅主题 53
  • 4.4 轮询 53
  • 4.5 消费者的配置 55
  • 4.6 提交和偏移量 57
  • 4.6.1 自动提交 58
  • 4.6.2 提交当前偏移量 59
  • 4.6.3 异步提交 59
  • 4.6.4 同步和异步组合提交 61
  • 4.6.5 提交特定的偏移量 61
  • 4.7 再均衡监听器 62
  • 4.8 从特定偏移量处开始处理记录 64
  • 4.9 如何退出 66
  • 4.10 反序列化器 67
  • 4.11 独立消费者——为什么以及怎样使用没有群组的消费者 71
  • 4.12 旧版的消费者API 71
  • 4.13 总结 72
  • 第 5 章 深入Kafka 73
  • 5.1 集群成员关系 73
  • 5.2 控制器 74
  • 5.3 复制 74
  • 5.4 处理请求 76
  • 5.4.1 生产请求 78
  • 5.4.2 获取请求 78
  • 5.4.3 其他请求 80
  • 5.5 物理存储 81
  • 5.5.1 分区分配 81
  • 5.5.2 文件管理 82
  • 5.5.3 文件格式 83
  • 5.5.4 索引 84
  • 5.5.5 清理 84
  • 5.5.6 清理的工作原理 84
  • 5.5.7 被删除的事件 86
  • 5.5.8 何时会清理主题 86
  • 5.9 总结 86
  • 第 6 章 可靠的数据传递 87
  • 6.1 可靠性保证 87
  • 6.2 复制 88
  • 6.3 broker配置 89
  • 6.3.1 复制系数 89
  • 6.3.2 不完全的首领选举 90
  • 6.3.3 最少同步副本 91
  • 6.4 在可靠的系统里使用生产者 92
  • 6.4.1 发送确认 92
  • 6.4.2 配置生产者的重试参数 93
  • 6.4.3 额外的错误处理 94
  • 6.5 在可靠的系统里使用消费者 94
  • 6.5.1 消费者的可靠性配置 95
  • 6.5.2 显式提交偏移量 95
  • 6.6 验证系统可靠性 97
  • 6.6.1 配置验证 98
  • 6.6.2 应用程序验证 98
  • 6.6.3 在生产环境监控可靠性 99
  • 6.7 总结 100
  • 第 7 章 构建数据管道 101
  • 7.1 构建数据管道时需要考虑的问题 102
  • 7.1.1 及时性 102
  • 7.1.2 可靠性 102
  • 7.1.3 高吞吐量和动态吞吐量 103
  • 7.1.4 数据格式 103
  • 7.1.5 转换 104
  • 7.1.6 安全性 104
  • 7.1.7 故障处理能力 104
  • 7.1.8 耦合性和灵活性 105
  • 7.2 如何在Connect API和客户端API之间作出选择 105
  • 7.3 Kafka Connect 106
  • 7.3.1 运行Connect 106
  • 7.3.2 连接器示例——文件数据源和文件数据池 107
  • 7.3.3 连接器示例——从MySQL到ElasticSearch 109
  • 7.3.4 深入理解Connect 114
  • 7.4 Connect之外的选择 116
  • 7.4.1 用于其他数据存储的摄入框架 116
  • 7.4.2 基于图形界面的ETL工具 117
  • 7.4.3 流式处理框架 117
  • 7.5 总结 117
  • 第 8 章 跨集群数据镜像 118
  • 8.1 跨集群镜像的使用场景 118
  • 8.2 多集群架构 119
  • 8.2.1 跨数据中心通信的一些现实情况 119
  • 8.2.2 Hub和Spoke架构 120
  • 8.2.3 双活架构 121
  • 8.2.4 主备架构 123
  • 8.2.5 延展集群 127
  • 8.3 Kafka的MirrorMaker 128
  • 8.3.1 如何配置 129
  • 8.3.2 在生产环境部署MirrorMaker 130
  • 8.3.3 MirrorMaker调优 132
  • 8.4 其他跨集群镜像方案 134
  • 8.4.1 优步的uReplicator 134
  • 8.4.2 Confluent的Replicator 135
  • 8.5 总结 135
  • 第 9 章 管理Kafka 136
  • 9.1 主题操作 136
  • 9.1.1 创建主题 137
  • 9.1.2 增加分区 138
  • 9.1.3 删除主题 138
  • 9.1.4 列出集群里的所有主题 139
  • 9.1.5 列出主题详细信息 139
  • 9.2 消费者群组 140
  • 9.2.1 列出并描述群组 140
  • 9.2.2 删除群组 142
  • 9.2.3 偏移量管理 142
  • 9.3 动态配置变更 143
  • 9.3.1 覆盖主题的默认配置 143
  • 9.3.2 覆盖客户端的默认配置 145
  • 9.3.3 列出被覆盖的配置 145
  • 9.3.4 移除被覆盖的配置 146
  • 9.4 分区管理 146
  • 9.4.1 首选的首领选举 146
  • 9.4.2 修改分区副本 147
  • 9.4.3 修改复制系数 150
  • 9.4.4 转储日志片段 151
  • 9.4.5 副本验证 152
  • 9.5 消费和生产 153
  • 9.5.1 控制台消费者 153
  • 9.5.2 控制台生产者 155
  • 9.6 客户端ACL 157
  • 9.7 不安全的操作 157
  • 9.7.1 移动集群控制器 157
  • 9.7.2 取消分区重分配 157
  • 9.7.3 移除待删除的主题 158
  • 9.7.4 手动删除主题 158
  • 9.8 总结 159
  • 第 10 章 监控Kafka 160
  • 10.1 度量指标基础 160
  • 10.1.1 度量指标在哪里 160
  • 10.1.2 内部或外部度量 161
  • 10.1.3 应用程序健康检测 161
  • 10.1.4 度量指标的覆盖面 161
  • 10.2 broker的度量指标 162
  • 10.2.1 非同步分区 162
  • 10.2.2 broker度量指标 166
  • 10.2.3 主题和分区的度量指标 173
  • 10.2.4 Java虚拟机监控 174
  • 10.2.5 操作系统监控 175
  • 10.2.6 日志 176
  • 10.3 客户端监控 177
  • 10.3.1 生产者度量指标 177
  • 10.3.2 消费者度量指标 179
  • 10.3.3 配额 181
  • 10.4 延时监控 182
  • 10.5 端到端监控 183
  • 10.6 总结 183
  • 第 11 章 流式处理 184
  • 11.1 什么是流式处理 185
  • 11.2 流式处理的一些概念 186
  • 11.2.1 时间 187
  • 11.2.2 状态 188
  • 11.2.3 流和表的二元性 188
  • 11.2.4 时间窗口 189
  • 11.3 流式处理的设计模式 190
  • 11.3.1 单个事件处理 191
  • 11.3.2 使用本地状态 191
  • 11.3.3 多阶段处理和重分区 193
  • 11.3.4 使用外部查找——流和表的连接 193
  • 11.3.5 流与流的连接 195
  • 11.3.6 乱序的事件 195
  • 11.3.7 重新处理 196
  • 11.4 Streams示例 197
  • 11.4.1 字数统计 197
  • 11.4.2 股票市场统计 199
  • 11.4.3 填充点击事件流 201
  • 11.5 Kafka Streams的架构概览 202
  • 11.5.1 构建拓扑 202
  • 11.5.2 对拓扑进行伸缩 203
  • 11.5.3 从故障中存活下来 205
  • 11.6 流式处理使用场景 205
  • 11.7 如何选择流式处理框架 206
  • 11.8 总结 208
  • 附录A 在其他操作系统上安装Kafka 209
  • 作者介绍 214
  • 封面介绍 214

资源获取

资源地址1:https://pan.baidu.com/s/1RV70iV9XH6uh60xPS4fQyQ

相关资源

网友留言