Kafka技术内幕:图文详解Kafka源码设计与实现
4推荐 收藏
3.5K阅读
图灵程序设计丛书

Kafka技术内幕:图文详解Kafka源码设计与实现

郑奇煌 (作者)
正在审校
Kafka自LinkedIn开源以来就以高性能、高吞吐量、分布式的特性著称,本书以最新的0.9版本源码为基础,深入分析了Kafka的设计实现,包括生产者消费者的消息处理流程,消息采用分区方式的日志存储结构,新旧消费者不同的设计方式,协调者和控制器如何确保Kafka集群的分布式和容错特性。

夏至,珍惜最长一天

优惠码中输入“北半球”,订单满24-12。 输入“南半球”,你猜? 每张限用1次,6月25日过期。本活动第三方授权电子书不参与。

出版信息

  • 书  名Kafka技术内幕:图文详解Kafka源码设计与实现
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 毛倩倩
  • 出版日期2017-07-31
  • 印刷方式黑白
  • 开  本16开
  • 出版状态正在审校

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • 计算机科学的基础

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的最新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

深入分析Kafka源码的第一本书
图文并茂探讨Kafka的设计与实现

目录

第1章 Kafka入门
1.1 介绍
1.1.1 流式数据平台
1.1.2 主要概念
1.1.3 Kafka的设计实现
1.2 快速开始
1.2.1 单机模式
1.2.2 集群模式
1.2.3 消费组示例
1.3 环境准备
1.3.1 编译运行
1.3.2 本书导读
第2章 生产者
2.1 新生产者客户端
2.1.1 同步和异步发送消息
2.1.2 客户端消息发送线程
2.1.3 客户端网络连接对象
2.1.4 选择器处理网络请求
2.2 旧生产者客户端
2.2.1 事件处理器处理客户端发送的消息
2.2.2 对消息集按照节点和分区进行整理
2.2.3 生产者使用阻塞通道发送请求
2.3 服务端网络连接
2.3.1 服务端使用接收器接受客户端的连接
2.3.2 处理器使用选择器的轮询处理网络请求
2.3.3 请求通道的请求队列和响应队列
2.3.4 Kafka请求处理线程
2.3.5 服务端的请求处理入口
2.4 小结
第3章:消费者(高级和低级API)
3.1 消费者启动和初始化
3.1.1 创建并初始化消费者连接器
3.1.2 消费者客户端的线程模型
3.1.3 重新初始化消费者
3.2 消费者再平衡操作
3.2.1 分区的所有权
3.2.2 为消费者分配分区
3.2.3 创建分区信息对象
3.2.4 关闭和更新拉取线程管理器
3.2.5 分区信息对象的偏移量
3.3 消费者拉取数据
3.3.1 拉取线程管理器
3.3.2 抽象拉取线程
3.3.3 消费者拉取线程
3.4 消费者消费消息
3.4.1 Kafka消息流
3.4.2 消费者迭代消费消息
3.5 消费者提交分区偏移量
3.5.1 提交偏移量到ZooKeeper
3.5.2 提交偏移量到内部主题
3.5.3 连接偏移量管理器
3.5.4 服务端处理提交偏移量的请求
3.5.5 缓存分区的偏移量
3.6 消费者低级API示例
3.6.1 消息消费主流程
3.6.2 找出分区的Leader
3.6.3 获取分区的读取偏移量
3.6.4 发送拉取请求并消费消息
3.7 小结
3.7.1 消费者线程模型
3.7.2 再平衡和分区分配
第4章 新消费者
4.1 新消费者客户端
4.1.1 消费者的订阅状态
4.1.2 消费者轮询的准备工作
4.1.3 消费者轮询的流程
4.1.4 消费者拉取消息
4.1.5 消费者获取记录
4.1.6 消费消息
4.2 消费者的网络客户端轮询
4.2.1 异步请求
4.2.2 异步请求高级模式
4.2.3 网络客户端轮询
4.3 心跳任务
4.3.1 发送心跳请求
4.3.2 心跳状态
4.3.3 运行心跳任务
4.3.4 处理心跳结果的示例
4.3.5 心跳和协调者的关系
4.4 消费者提交偏移量
4.4.1 自动提交任务
4.4.2 将拉取偏移量作为提交偏移量
4.4.2 同步提交偏移量
4.4.3 消费者的消息处理语义
4.5 小结
第5章 协调者
5.1 消费者加入消费组
5.1.1 元数据与分区分配器
5.1.2 消费者的加入组和同步组
5.1.3 Leader消费者执行分配任务
5.1.4 加入组的准备、完成和监听器
5.2 协调者处理请求
5.2.1 服务端定义发送响应结果的回调方法
5.2.2 消费者和消费组元数据
5.2.3 协调者处理请求前的条件检查
5.2.4 协调者调用回调方法发送响应给客户端
5.3 延迟的加入组操作
5.4 消费组状态机
5.4.1 再平衡操作与监听器
5.4.2 消费组的状态转换
5.4.3 协调者处理“加入组请求”
5.4.4 协调者处理“同步组请求”
5.4.5 协调者处理“离开组请求”
5.4.6 再平衡超时与会话超时
5.4.7 延迟的心跳
5.5 小结
第6章 存储层
6.1 日志的读写
6.1.1 分区、副本、日志、日志分段
6.1.2 写入日志
6.1.3 日志分段
6.1.4 读取日志
6.1.5 日志管理
6.1.6 日志压缩
6.2 服务端处理读写请求
6.2.1 副本管理器
6.2.2 分区与副本
6.3 延迟操作
6.3.1 延迟操作接口
6.3.2 延迟操作与延迟缓存
6.3.3 延迟缓存
6.4 小结
第7章 控制器
7.1 Kafka副本原理
7.1.1 负载均衡
7.1.2 数据同步
7.1.3 故障处理
7.1.4 控制器
7.2 KafkaController
7.2.1 控制器选举
7.2.2 控制器上下文(ControllerContext)
7.2.3 ZooKeeper监听器
7.2.4 控制器初始化
7.2.5 状态机
7.2.6 管理工作
7.3 Leader和ISR请求
7.3.1 ReplicaManager处理请求
7.3.2 分区创建Leader和Follower副本
7.3.3 Leader副本
7.3.4 Follower副本
7.3.5 检查点线程
7.3.6 LeaderAndIsr请求和协调者
7.4 UpdateMetadata
7.4.1 共享缓存(MetadataCache)
7.4.2 获取TopicMetadata
7.5 小结
第8章 Kafka高级应用
8.1 消息传递语义(Message Delivery Guarantee)
8.1.1 生产者的数据可靠性
8.1.2 消费者的消息处理语义
8.2 镜像同步(MirrorMaker)
8.2.1 单机模拟Mirror Maker
8.2.2 MirrorMaker的生产者和消费者
8.3 Kafka Connect连接器
8.3.1 架构与模型
8.3.2 单机模式
8.3.3 开发一个简单的Connector
8.3.4 分布式模式
8.4 其他高级特性
8.4.1 Avro序列化、反序列化
8.4.2 REST服务
第9章 Kafka Streams
9.1 流处理的拓扑
9.1.1 数据流和处理节点
9.1.2 构建拓扑
9.2 流处理的线程模型
9.2.1 流线程(StreamThread)
9.2.2 流任务(StreamTask)
9.3 状态存储
9.3.1 主要概念
9.3.2 备份任务(StandbyTask)
9.3.3 状态恢复
9.4 Kafka Streams DSL
9.4.1 KStream和KTable抽象接口
9.4.2 流转换操作
  • 啥时候出哦,现在市场上已经有kafka源码解析相关书籍了。。
    朱锐  发表于 2017-05-27 15:04:07
    推荐
  • 每天来看一眼
    codger  发表于 2017-06-03 11:36:32
    推荐
  • 每天来看一眼
    朱锐  发表于 2017-06-03 23:05:04
    推荐
  • 听说6月份出版?
    A_Q  发表于 2017-04-18 11:34:44
    推荐
    • 嗯嗯,差不多

      王军花  发表于 2017-04-20 09:26:10
  • 啥时候出版啊,kafka确实没有很好的中文学习资料,很看好出版者
    tju_lushilin  发表于 2017-04-19 14:27:13
    推荐
    • 如果不出现特殊情况,6月应该差不多能出版。

      王军花  发表于 2017-04-20 09:26:02
  • 之前看到关于Kafka技术内幕的博客不知道是不是同一个作者,如果是还是蛮期待的,更加期待同步电子版。
    A_Q  发表于 2016-12-25 22:37:19
    推荐
  • 怎么还没有出来,等了好久了啊
    蛋蛋的忧桑  发表于 2017-04-03 17:59:13
    推荐
  • 坐等。
    征尘丶倚阑珊  发表于 2017-05-09 22:42:41
    推荐
  • 等了好久,都 5 月底了,还在审校,都没印刷。。。
    静恒  发表于 2017-05-26 15:51:33
    推荐
  • 什么时候能出书
    yanggz  发表于 2017-06-21 09:41:26
    推荐