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

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

郑奇煌 (作者)
正在排版
Kafka自LinkedIn开源以来就以高性能、高吞吐量、分布式的特性著称,本书以0.10版本的源码为基础,深入分析了Kafka的设计与实现,包括生产者和消费者的消息处理流程,新旧消费者不同的设计方式,存储层的实现,协调者和控制器如何确保Kafka集群的分布式和容错特性,两种同步集群工具MirrorMaker和uReplicator,流处理的两种API以及Kafka的一些高级特性等。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

纸质书
¥119.00

出版信息

  • 书  名Kafka技术内幕:图文详解Kafka源码设计与实现
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 王军花
  • 定  价119.00 元
  • 印刷方式黑白
  • 开  本16开
  • 出版状态正在排版

同系列书

  • HTTP权威指南

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

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

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

    Nicholas C.Zakas   李松峰   曹力   译

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

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

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

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

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

  • 机器学习实战

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

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

本书特色

图文详解Kafka的内部原理、设计与实现
全面分析以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 流转换操作

作者介绍

郑奇煌,目前就职于杭州某互联网风控公司,主要专注于大数据和流计算。对源码研究有一定的心得体会,乐于分享,个人博客:zqhxuyuan.github.io。
  • 啥时候出哦,现在市场上已经有kafka源码解析相关书籍了。。
    朱锐  发表于 2017-05-27 15:04:07
    推荐
  • 每天来看一眼
    codger  发表于 2017-06-03 11:36:32
    推荐
  • 每天来看一眼
    朱锐  发表于 2017-06-03 23:05:04
    推荐
  • 9月份能出版吗
    jungle_zh  发表于 2017-08-30 14:32:29
    推荐
    • 预计10月份可以出版

      王军花  发表于 2017-09-01 08:55:48
  • 什么时候能出书
    yanggz  发表于 2017-06-21 09:41:26
    推荐
  • 何时出版啊
    jack2code  发表于 2017-06-29 09:45:08
    推荐
  • 关注一下.会有电子版吧?
    陈舒扬  发表于 2017-06-30 17:47:55
    推荐
  • 这本书大约什么时候可售呢
    ganchengwxh  发表于 2017-09-06 14:04:13
    推荐
  • 等了好几个月了,什么时候出版呀
    codger  发表于 2017-09-20 16:42:58
    推荐
    • 预计10月上市

      王军花  发表于 2017-09-22 15:10:09
  • 什么进度了?
    yanhe121  发表于 2017-09-26 10:39:38
    推荐
    • 节后送印

      王军花  发表于 2017-09-26 13:42:26
  • 这本书感觉已经出不出来了。。。。。。
    征尘丶倚阑珊  发表于 2017-10-10 11:29:36
    推荐
    • 基本用不着看这本书了

      yanhe121  发表于 2017-10-10 19:30:36
    • @yanhe121 还有啥好的资料吗

      Tio  发表于 2017-10-16 21:22:39
  • 还出得来吗?
    codger  发表于 2017-10-12 09:56:29
    推荐
    • 明天送印

      王军花  发表于 2017-10-12 11:36:55
    • @王军花 今天16号了

      Tio  发表于 2017-10-16 21:40:12
    • @王军花 今天17号了

      Tio  发表于 2017-10-17 09:00:08
  • 今天18号了,求快速出
    CharlesLi  发表于 2017-10-18 16:30:49
    推荐
  • 很需要这本书,迫不及待的等着订购。
    t_spider  发表于 2017-10-18 18:47:49
    推荐
  • 希望能有电子版
    zqzhao5  发表于 2017-10-18 21:45:19
    推荐