Kafka超限精析:重磅级大数据流处理技术平台

Kafka超限精析:重磅级大数据流处理技术平台 pdf epub mobi txt 电子书 下载 2025

图书标签:
  • Kafka
  • 大数据
  • 流处理
  • 实时计算
  • 分布式系统
  • 消息队列
  • 数据工程
  • 技术精讲
  • 架构设计
  • 性能优化
想要找书就要到 小特书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

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

本书特色

  ●图文详解Kafka的内部原理、设计与实践
  ●全面分析以Kafka为中心的分散式串流资料平台
  ●Kafka特性详细解说,包含连接器和流处理
 

著者信息

图书目录

01 Kafka 入门
1.1 Kafka 流式资料平台
1.2 Kafka 的基本概念
1.3 Kafka 的设计与实现
1.4 快速开始
1.5 环境准备
 
02 生产者
2.1 新生产者用户端
2.2 旧生产者用户端
2.3 服务端网路连接
2.4 小结
 
03 消费者:进阶API和低阶API
3.1 消费者启动和初始化
3.2 消费者再平衡操作
3.3 消费者拉取资料
3.4 消费者消费讯息
3.5 消费者传送分区偏移量
3.6 消费者低阶API 范例
3.7 小结
 
04 新消费者
4.1 新消费者用户端
4.2 消费者的网路用户端端轮询
4.3 心跳工作
4.4 消费者传送偏移量
4.5 小结
 
05 协调者
5.1 消费者加入消费组
5.2 协调者处理请求
5.3 延迟的加入组操作
5.4 消费组状态机
5.5 小结
 
06 储存层
6.1 记录档的读写
6.2 服务端处理读写请求
6.3 延迟操作
6.4 小结
 
07 控制器
7.1 Kafka 控制器
7.2 服务端处理LeaderAndIsr请求
7.3 中继资料快取
7.4 Kafka 服务关闭
7.5 小结
 
08 基于Kafka 建置资料流程管线
8.1 Kafka 丛集同步工具:MirrorMaker
8.2 Uber 丛集同步工具:uReplicator
8.3 Kafka 连接器
8.4 小结
 
09 Kafka 流处理
9.1 低阶Processor API
9.2 进阶流式DSL
9.3 小结
 
10 进阶特性介绍
10.1 使用者端配额
10.2 讯息与时间戳记
10.3 交易处理
10.4 小结

图书序言

前言

  Apache Kafka(简称Kafka)最早是由LinkedIn开放原始码出来的分散式讯息系统,现在是Apache旗下的子专案,并且已经成为开放原始码领域应用最广泛的讯息系统之一。Kafka社区也非常活跃,从0.9 版本开始,Kafka的标语已经从「一个高传输量、分散式的讯息系统」改为「一个分散式的流平台」。

  ✤ 如何阅读本书
  本书主要以0.10版本的Kafka原始程式为基础,并透过图文详解的方式分析Kafka内部元件的实现细节。对于Kafka流处理的一些新特性,本书也会分析0.11版本的相关原始程式。本书各章的主要内容如下。

  ■ 第1章首先介绍Kafka作为流式资料平台的3 个组成,包含讯息系统、储存系统和流处理系统,接着从分区模型、消费模型和分散式模型这三个模型介绍Kafka的几个基本概念,然后介绍Kafka几个比较重要的设计想法,最后讨论如何在一台机器上模拟单机模式与分散式模式,以及如何架设开发环境。

  ■ 第2章从一个生产者的范例开始,引出新版本生产者的两种讯息发送方式。生产者用户端透过记录收集器和发送执行绪,对讯息集进行分组和快取,并为目标节点建立生产请求,发送到不同的代理节点。接着介绍与网路相关的Kafka通道、选择器、轮询等NIO操作。另外,还介绍Scala版本的旧生产者,它使用阻塞通道的方式发送请求。最后,介绍服务端採用Reactor模式处理用户端的请求。

  ■ 第3章首先介绍消费者相关的基础概念,然后从一个消费者的范例开始,引出以ZooKeeper(后面简称ZK)为基础的进阶消费者API。要了解进阶API,主要是要了解消费执行绪的模型以及变数的传递方式。接着介绍消费者传送分区偏移量的两种方式。最后,举一个低阶API的范例。开发者需要自己实现一些比较复杂的逻辑处理,才能保障消费程式的稳固性和稳定性。

  ■ 第4章介绍新版本的消费者。不同于旧版本的消费者,新版本去除了ZK的依赖,统一旧版本的进阶API和低阶API,并提供两种消费方式:订阅和分配。新版本引用订阅状态来管理消费者的订阅资讯,并使用拉取器拉取讯息。新版本的消费者没有使用拉取执行绪,而是採用轮询的方式拉取讯息,它的效能比旧版本的消费者更好。另外,还介绍消费者採用回唿器、处理器、监听器、介面卡、组合模式和链式唿叫等实现不同类型的非同步请求。最后,我们介绍新消费者的心跳工作、消费者传送偏移量以及3种讯息处理语义的使用方式。

  ■ 第5章介绍新版本消费者相关的协调者实现,主要包含「加入组」与「同步组」。每个消费者都有一个用户端的协调者,服务端也有一个消费组等级的协调者负责处理所有消费者用户端的请求。当消费组触发再平衡操作时,服务端的协调者会记录消费组中继资料的变化,并透过状态机保障消费组状态的正常转换。本章会透过很多不同的范例场景来帮助读者了解消费组相关的实现。

  ■ 第6章介绍Kafka的储存层实现,包含读写、管理、压缩等一些常用的记录档操作。服务端透过备份管理员处理用户端的生产请求和拉取请求。接着介绍备份机制相关的分区、备份、最高水位、复制点等一些概念。最后,介绍延迟操作介面与延迟快取。服务端如果不能立即传回回应结果给用户端,会先将延迟操作快取起来,直到请求处理完成或逾时。

  ■ 第7章介绍作为服务端核心的Kafka控制器,它主要负责管理分区状态机和备份状态机,以及多种类型的监听器,例如代理节点上线和下线、删除主题、重新分配分区等。控制器的重要职责是选举分区的主备份。不同代理节点根据控制器下发的请求,决定成为分区的主备份还是拷贝备份。另外,我们还分析本机复本与远端备份的差别,以及中继资料快取的作用。

  ■ 第8章首先介绍两种丛集的同步工具:Kafka内建的MirrorMaker和Uber开放原始码的uReplicator。接着,介绍新版本Kafka提供的连接器架构,以及如何开发一个自订的连接器。最后,介绍连接器的架构模型的实作方式,主要包含资料模型、Connector模型和Worker模型。

  ■ 第9章介绍Kafka流处理的两种API:低阶Processor API和进阶DSL。这一章重点介绍流处理的执行绪模型,主要包含流实例、流执行绪和流工作;还介绍流处理的本机状态储存,它主要用来作为备份工作的资料恢复。进阶DSL包含两个元件——KStream与KTable,它们都定义了一些常用的流处理运算元操作,例如无状态的操作(过泸和对映等)、有状态的操作(连接和视窗等)。

  ■ 第10章介绍Kafka的一些进阶特性,例如用户端的配额、新的讯息格式和交易特性。

  本书相关的范例程式可以至www.deepstone.com.tw/下载,以及在笔者的GitHub首页github.com/zqhxuyuan/kafka-book上亦有提供下载。另外,限于篇幅,附录部分会放在个人部落格上(zqhxuyuan.github.io/)。此外,本书的原始程式码和附录部分请至图灵社区本书首页(www.ituring.com.cn/book/1927)下载。

  由于个人能力有限,文中的错误在所难免,如果读者在阅读的过程中,发现不妥之处,可以私信我的微博:weibo.com/xuyuantree,我会定期将勘误更新到个人部落格上。

  ✤ 致谢
  感谢图灵的编辑王军花老师,是您的辛勤工作让本书的出版成为可能。同时还要感谢许多我不知道名字的后台工作人员为本书付出的努力。

  感谢冯嘉、时金魁、吴阳平在百忙之中抽出时间给本撰写推荐。

图书试读

用户评价

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 ttbooks.qciss.net All Rights Reserved. 小特书站 版权所有