当前位置:主页 > 计算机电子书 > 数据库 > Kafka下载
Kafka技术内幕:图文详解Kafka源码设计与实现

Kafka技术内幕:图文详解Kafka源码设计与实现 PDF 全书扫描版

  • 更新:2019-11-25
  • 大小:112.4 MB
  • 类别:Kafka
  • 作者:郑奇煌
  • 出版:未知人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

文图详解Kafka的內部基本原理、设计与保持 全方位剖析以Kafka为管理中心的分布式流服务平台 Kafka新特性详解,包含射频连接器、流解决 Kafka自LinkedIn开源系统至今就以性能、高货运量、分布式的特性而出名,这书以0.10版本的源代码为基本,详细分析了Kafka的设计与保持,包含经营者和顾客的信息解决步骤,新老顾客不一样的设计方法,储存层的保持,协调者和控制板怎样保证Kafka集群的分布式和容错机制特性,二种同歩集群专用工具MirrorMaker和uReplicator,流解决的二种API及其Kafka的一些高級特性等。 《Kafka技术性内情 文图详解Kafka源代码设计与保持》合适Kafka开发者阅读文章。

目录

  • 第1章 Kafka入门 1
  • 1.1 Kafka流式数据平台 1
  • 1.2 Kafka的基本概念 3
  • 1.2.1 分区模型 3
  • 1.2.2 消费模型 4
  • 1.2.3 分布式模型 5
  • 1.3 Kafka的设计与实现 6
  • 1.3.1 文件系统的持久化与数据传输效率 6
  • 1.3.2 生产者与消费者 8
  • 1.3.3 副本机制和容错处理 10
  • 1.4 快速开始 11
  • 1.4.1 单机模式 12
  • 1.4.2 分布式模式 14
  • 1.4.3 消费组示例 16
  • 1.5 环境准备 18
  • 第2章 生产者 22
  • 2.1 新生产者客户端 22
  • 2.1.1 同步和异步发送消息 23
  • 2.1.2 客户端消息发送线程 29
  • 2.1.3 客户端网络连接对象 31
  • 2.1.4 选择器处理网络请求 35
  • 2.2 旧生产者客户端 43
  • 2.2.1 事件处理器处理客户端发送的消息 44
  • 2.2.2 对消息集按照节点和分区进行整理 46
  • 2.2.3 生产者使用阻塞通道发送请求 48
  • 2.3 服务端网络连接 49
  • 2.3.1 服务端使用接收器接受客户端的连接 50
  • 2.3.2 处理器使用选择器的轮询处理网络请求 53
  • 2.3.3 请求通道的请求队列和响应队列 56
  • 2.3.4 Kafka请求处理线程 58
  • 2.3.5 服务端的请求处理入口 58
  • 2.4 小结 60
  • 第3章 消费者:高级API和低级API 61
  • 3.1 消费者启动和初始化 67
  • 3.1.1 创建并初始化消费者连接器 69
  • 3.1.2 消费者客户端的线程模型 70
  • 3.1.3 重新初始化消费者 72
  • 3.2 消费者再平衡操作 73
  • 3.2.1 分区的所有权 74
  • 3.2.2 为消费者分配分区 75
  • 3.2.3 创建分区信息对象 78
  • 3.2.4 关闭和更新拉取线程管理器 80
  • 3.2.5 分区信息对象的偏移量 80
  • 3.3 消费者拉取数据 82
  • 3.3.1 拉取线程管理器 82
  • 3.3.2 抽象拉取线程 87
  • 3.3.3 消费者拉取线程 90
  • 3.4 消费者消费消息 94
  • 3.4.1 Kafka消息流 94
  • 3.4.2 消费者迭代消费消息 95
  • 3.5 消费者提交分区偏移量 97
  • 3.5.1 提交偏移量到ZK 98
  • 3.5.2 提交偏移量到内部主题 99
  • 3.5.3 连接偏移量管理器 101
  • 3.5.4 服务端处理提交偏移量的请求 103
  • 3.5.5 缓存分区的偏移量 106
  • 3.6 消费者低级API示例 108
  • 3.6.1 消息消费主流程 109
  • 3.6.2 找出分区的主副本 112
  • 3.6.3 获取分区的读取偏移量 113
  • 3.6.4 发送拉取请求并消费消息 116
  • 3.7 小结 117
  • 3.7.1 消费者线程模型 117
  • 3.7.2 再平衡和分区分配 119
  • 第4章 新消费者 121
  • 4.1 新消费者客户端 125
  • 4.1.1 消费者的订阅状态 125
  • 4.1.2 消费者轮询的准备工作 134
  • 4.1.3 消费者轮询的流程 138
  • 4.1.4 消费者拉取消息 146
  • 4.1.5 消费者获取记录 149
  • 4.1.6 消费消息 160
  • 4.2 消费者的网络客户端轮询 161
  • 4.2.1 异步请求 162
  • 4.2.2 异步请求高级模式 169
  • 4.2.3 网络客户端轮询 184
  • 4.3 心跳任务 188
  • 4.3.1 发送心跳请求 188
  • 4.3.2 心跳状态 189
  • 4.3.3 运行心跳任务 191
  • 4.3.4 处理心跳结果的示例 192
  • 4.3.5 心跳和协调者的关系 193
  • 4.4 消费者提交偏移量 195
  • 4.4.1 自动提交任务 195
  • 4.4.2 将拉取偏移量作为提交偏移量 197
  • 4.4.3 同步提交偏移量 201
  • 4.4.4 消费者的消息处理语义 202
  • 4.5 小结 206
  • 第5章 协调者 210
  • 5.1 消费者加入消费组 211
  • 5.1.1 元数据与分区分配器 212
  • 5.1.2 消费者的加入组和同步组 213
  • 5.1.3 主消费者执行分配任务 220
  • 5.1.4 加入组的准备、完成和监听器 224
  • 5.2 协调者处理请求 229
  • 5.2.1 服务端定义发送响应结果的回调方法 229
  • 5.2.2 消费者和消费组元数据 232
  • 5.2.3 协调者处理请求前的条件检查 236
  • 5.2.4 协调者调用回调方法发送响应给客户端 237
  • 5.3 延迟的加入组操作 242
  • 5.3.1 “准备再平衡” 242
  • 5.3.2 延迟操作和延迟缓存 244
  • 5.3.3 尝试完成延迟的加入操作 246
  • 5.3.4 消费组稳定后,原有消费者重新加入消费组 250
  • 5.3.5 消费组未稳定,原有消费者重新加入消费组 251
  • 5.4 消费组状态机 254
  • 5.4.1 再平衡操作与监听器 254
  • 5.4.2 消费组的状态转换 262
  • 5.4.3 协调者处理“加入组请求” 264
  • 5.4.4 协调者处理“同步组请求” 274
  • 5.4.5 协调者处理“离开组请求” 276
  • 5.4.6 再平衡超时与会话超时 278
  • 5.4.7 延迟的心跳 282
  • 5.5 小结 290
  • 第6章 存储层 293
  • 6.1 日志的读写 293
  • 6.1.1 分区、副本、日志、日志
  • 分段 294
  • 6.1.2 写入日志 297
  • 6.1.3 日志分段 305
  • 6.1.4 读取日志 315
  • 6.1.5 日志管理 329
  • 6.1.6 日志压缩 336
  • 6.2 服务端处理读写请求 348
  • 6.2.1 副本管理器 351
  • 6.2.2 分区与副本 362
  • 6.3 延迟操作 373
  • 6.3.1 延迟操作接口 374
  • 6.3.2 延迟操作与延迟缓存 383
  • 6.3.3 延迟缓存 391
  • 6.4 小结 400
  • 第7章 控制器 402
  • 7.1 Kafka控制器 402
  • 7.1.1 控制器选举 403
  • 7.1.2 控制器上下文 406
  • 7.1.3 ZK监听器 408
  • 7.1.4 分区状态机和副本状态机 410
  • 7.1.5 删除主题 430
  • 7.1.6 重新分配分区 436
  • 7.1.7 控制器的网络通道管理器 445
  • 7.2 服务端处理LeaderAndIsr请求 448
  • 7.2.1 创建分区 449
  • 7.2.2 创建主副本、备份副本 451
  • 7.2.3 消费组元数据迁移 463
  • 7.3 元数据缓存 468
  • 7.3.1 服务端的元数据缓存 472
  • 7.3.2 客户端更新元数据 473
  • 7.4 Kafka服务关闭 483
  • 7.5 小结 487
  • 第8章 基于Kafka构建数据流管道 490
  • 8.1 Kafka集群同步工具:MirrorMaker 490
  • 8.1.1 单机模拟数据同步 491
  • 8.1.2 数据同步的流程 493
  • 8.2 Uber集群同步工具:uReplicator 498
  • 8.2.1 Apache Helix介绍 498
  • 8.2.2 Helix控制器 501
  • 8.2.3 Helix工作节点 504
  • 8.3 Kafka连接器 505
  • 8.3.1 连接器的使用示例 507
  • 8.3.2 开发一个简单的连接器 510
  • 8.3.3 连接器的架构模型 515
  • 8.3.4 Herder的实现 520
  • 8.3.5 Worker的实现 524
  • 8.3.6 配置存储与状态存储 530
  • 8.3.7 连接器与任务的实现 550
  • 8.4 小结 565
  • 第9章 Kafka流处理 569
  • 9.1 低级Processor API 569
  • 9.1.1 流处理应用程序示例 569
  • 9.1.2 流处理的拓扑 575
  • 9.1.3 流处理的线程模型 580
  • 9.1.4 状态存储 613
  • 9.2 高级流式DSL 636
  • 9.2.1 DSL应用程序示例 636
  • 9.2.2 KStream和KTable 638
  • 9.2.3 连接操作 665
  • 9.2.4 窗口操作 672
  • 9.3 小结 684
  • 第10章 高级特性介绍 686
  • 10.1 客户端配额 686
  • 10.2 消息与时间戳 692
  • 10.3 事务处理 699
  • 10.4 小结 703

资源下载

资源下载地址1:https://pan.baidu.com/s/1Kg2EKYYGfOx-9ver2WbVZw

相关资源

网友留言