深入理解Kafka : 核心设计与实践原理 🔍
朱忠华著
北京:电子工业出版社, Di 1 ban, Beijing, 2019
中文 [zh] · PDF · 105.0MB · 2019 · 📘 非小说类图书 · 🚀/duxiu/zlib · Save
描述
本书从Kafka的基础概念切入,循序渐进地转入对其内部原理的剖析。本书主要阐述了Kafka中生产者客户端、消费者客户端、主题与分区、日志存储、原理解析、监控管理、应用扩展及流式计算等内容。 虽然Kafka 的内核使用Scala语言编写,但本书基本以Java语言作为主要的示例语言,方便大多数读者的理解。虽然本书没有明确的界定,但总体上可以划分为三个部分:基础篇、原理篇和扩展篇,前4章为基础篇,包括基础概念、生产者、消费者,以及主题与分区,学习完这4章的内容完全可以应对绝大多数的开发场景。第5章至第8章为原理篇,包括对日志存储、协议设计、控制器、组协调器、事务、一致性、 可靠性等内容的探究,学习完这4 章的内容可以让读者对Kafka有一个深刻的认知。最后4章从应用扩展层面来做讲解,可以归类为扩展篇,主要内容包括监控、应用工具、应用扩展(延时队列、重试队列、死信队列、消息轨迹等)、与Spark的集成等,让读者可以对Kafka 的生态有一个更加全面的认知。本书定位为一本实战与原理相结合的书,既适合Kafka的初学者,也适合于对Kafka有一定深度认知的老手。
备选标题
Deep understanding of Kafka: core design and practice principles(Chinese Edition)
备选作者
ZHU ZHONG HUA
备选作者
朱忠华 (计算机技术)
备用出版商
Publishing House of Electronics Industry
备用出版商
Electronic Industry Press
备用出版商
CNPeReading
备用版本
China, People's Republic, China
元数据中的注释
Bookmarks: p1 (p1): 第1章 初识Kafka
p1-1 (p1): 1.1基本概念
p1-2 (p7): 1.2安装与配置
p1-3 (p12): 1.3生产与消费
p1-4 (p16): 1.4服务端参数配置
p1-5 (p18): 1.5总结
p2 (p19): 第2章 生产者
p2-1 (p19): 2.1客户端开发
p2-1-1 (p21): 2.1.1必要的参数配置
p2-1-2 (p23): 2.1.2消息的发送
p2-1-3 (p27): 2.1.3序列化
p2-1-4 (p31): 2.1.4分区器
p2-1-5 (p33): 2.1.5生产者拦截器
p2-2 (p36): 2.2原理分析
p2-2-1 (p36): 2.2.1整体架构
p2-2-2 (p39): 2.2.2元数据的更新
p2-3 (p40): 2.3重要的生产者参数
p2-4 (p44): 2.4总结
p3 (p45): 第3章 消费者
p3-1 (p45): 3.1消费者与消费组
p3-2 (p47): 3.2客户端开发
p3-2-1 (p49): 3.2.1必要的参数配置
p3-2-2 (p51): 3.2.2订阅主题与分区
p3-2-3 (p54): 3.2.3反序列化
p3-2-4 (p59): 3.2.4消息消费
p3-2-5 (p62): 3.2.5位移提交
p3-2-6 (p70): 3.2.6控制或关闭消费
p3-2-7 (p72): 3.2.7指定位移消费
p3-2-8 (p79): 3.2.8再均衡
p3-2-9 (p81): 3.2.9消费者拦截器
p3-2-10 (p84): 3.2.10多线程实现
p3-2-11 (p93): 3.2.11重要的消费者参数
p3-3 (p96): 3.3总结
p4 (p97): 第4章 主题与分区
p4-1 (p97): 4.1主题的管理
p4-1-1 (p98): 4.1.1创建主题
p4-1-2 (p106): 4.1.2分区副本的分配
p4-1-3 (p111): 4.1.3查看主题
p4-1-4 (p113): 4.1.4修改主题
p4-1-5 (p117): 4.1.5配置管理
p4-1-6 (p120): 4.1.6主题端参数
p4-1-7 (p122): 4.1.7删除主题
p4-2 (p125): 4.2初识KafkaAdminClient
p4-2-1 (p125): 4.2.1基本使用
p4-2-2 (p130): 4.2.2主题合法性验证
p4-3 (p132): 4.3分区的管理
p4-3-1 (p132): 4.3.1优先副本的选举
p4-3-2 (p136): 4.3.2分区重分配
p4-3-3 (p140): 4.3.3复制限流
p4-3-4 (p146): 4.3.4修改副本因子
p4-4 (p150): 4.4如何选择合适的分区数
p4-4-1 (p150): 4.4.1性能测试工具
p4-4-2 (p153): 4.4.2分区数越多吞吐量就越高吗
p4-4-3 (p155): 4.4.3分区数的上限
p4-4-4 (p159): 4.4.4考量因素
p4-5 (p160): 4.5总结
p5 (p161): 第5章 日志存储
p5-1 (p161): 5.1文件目录布局
p5-2 (p164): 5.2日志格式的演变
p5-2-1 (p165): 5.2.1 v0版本
p5-2-2 (p167): 5.2.2 v1版本
p5-2-3 (p168): 5.2.3消息压缩
p5-2-4 (p170): 5.2.4变长字段
p5-2-5 (p174): 5.2.5 v2版本
p5-3 (p180): 5.3日志索引
p5-3-1 (p181): 5.3.1偏移量索引
p5-3-2 (p183): 5.3.2时间戳索引
p5-4 (p185): 5.4日志清理
p5-4-1 (p185): 5.4.1日志删除
p5-4-2 (p188): 5.4.2日志压缩
p5-5 (p192): 5.5磁盘存储
p5-5-1 (p194): 5.5.1页缓存
p5-5-2 (p195): 5.5.2磁盘I/O流程
p5-5-3 (p198): 5.5.3零拷贝
p5-6 (p200): 5.6总结
p6 (p201): 第6章 深入服务端
p6-1 (p201): 6.1协议设计
p6-2 (p209): 6.2时间轮
p6-3 (p213): 6.3延时操作
p6-4 (p217): 6.4控制器
p6-4-1 (p217): 6.4.1控制器的选举及异常恢复
p6-4-2 (p220): 6.4.2优雅关闭
p6-4-3 (p228): 6.4.3分区leader的选举
p6-5 (p229): 6.5参数解密
p6-5-1 (p229): 6.5.1 broker.id
p6-5-2 (p231): 6.5.2 bootstrap.servers
p6-5-3 (p236): 6.5.3服务端参数列表
p6-6 (p239): 6.6总结
p7 (p240): 第7章 深入客户端
p7-1 (p240): 7.1分区分配策略
p7-1-1 (p240): 7.1.1 RangeAssignor分配策略
p7-1-2 (p241): 7.1.2 RoundRobinAssignor分配策略
p7-1-3 (p242): 7.1.3 StickyAssignor分配策略
p7-1-4 (p245): 7.1.4自定义分区分配策略
p7-2 (p252): 7.2消费者协调器和组协调器
p7-2-1 (p252): 7.2.1旧版消费者客户端的问题
p7-2-2 (p254): 7.2.2再均衡的原理
p7-3 (p264): 7.3_consumer_offsets剖析
p7-4 (p268): 7.4事务
p7-4-1 (p268): 7.4.1消息传输保障
p7-4-2 (p269): 7.4.2幂等
p7-4-3 (p270): 7.4.3事务
p7-5 (p283): 7.5总结
p8 (p284): 第8章 可靠性探究
p8-1 (p284): 8.1副本剖析
p8-1-1 (p285): 8.1.1失效副本
p8-1-2 (p287): 8.1.2 ISR的伸缩
p8-1-3 (p289): 8.1.3 LEO与HW
p8-1-4 (p292): 8.1.4 Leader Epoch的介入
p8-1-5 (p297): 8.1.5为什么不支持读写分离
p8-2 (p299): 8.2日志同步机制
p8-3 (p301): 8.3可靠性分析
p8-4 (p305): 8.4总结
p9 (p306): 第9章 Kafka应用
p9-1 (p306): 9.1命令行工具
p9-1-1 (p307): 9.1.1消费组管理
p9-1-2 (p309): 9.1.2消费位移管理
p9-1-3 (p313): 9.1.3手动删除消息
p9-2 (p315): 9.2 Kafka Connect
p9-2-1 (p315): 9.2.1独立模式
p9-2-2 (p319): 9.2.2 REST API
p9-2-3 (p320): 9.2.3分布式模式
p9-3 (p322): 9.3 Kafka Mirror Maker
p9-4 (p325): 9.4 Kafka Streams
p9-5 (p330): 9.5总结
p10 (p331): 第10章 Kafka监控
p10-1 (p333): 10.1监控数据的来源
p10-1-1 (p335): 10.1.1 OneMinuteRate
p10-1-2 (p336): 10.1.2获取监控指标
p10-2 (p339): 10.2消费滞后
p10-3 (p350): 10.3同步失效分区
p10-4 (p355): 10.4监控指标说明
p10-5 (p358): 10.5监控模块
p10-6 (p360): 10.6总结
p11 (p361): 第11章 高级应用
p11-1 (p361): 11.1过期时间(TTL)
p11-2 (p365): 11.2延时队列
p11-3 (p372): 11.3死信队列和重试队列
p11-4 (p373): 11.4消息路由
p11-5 (p375): 11.5消息轨迹
p11-6 (p377): 11.6消息审计
p11-7 (p379): 11.7消息代理
p11-7-1 (p380): 11.7.1快速入门
p11-7-2 (p382): 11.7.2 REST API介绍及示例
p11-7-3 (p388): 11.7.3服务端配置及部署
p11-7-4 (p391): 11.7.4应用思考
p11-8 (p392): 11.8消息中间件选型
p11-8-1 (p393): 11.8.1各类消息中间件简述
p11-8-2 (p393): 11.8.2选型要点概述
p11-8-3 (p400): 11.8.3消息中间件选型误区探讨
p11-9 (p401): 11.9总结
p12 (p402): 第12章 Kafka与Spark的集成
p12-1 (p403): 12.1 Spark的安装及简单应用
p12-2 (p406): 12.2 Spark编程模型
p12-3 (p410): 12.3 Spark的运行结构
p12-4 (p412): 12.4 Spark Streaming简介
p12-5 (p416): 12.5 Kafka与Spark Streaming的整合
p12-6 (p423): 12.6 Spark SQL
p12-7 (p426): 12.7 Structured Streaming
p12-8 (p430): 12.8 Kafka与Structured Streaming的整合
p12-9 (p437): 12.9总结
p13 (p438): 附录A Kafka源码环境搭建
p1-1 (p1): 1.1基本概念
p1-2 (p7): 1.2安装与配置
p1-3 (p12): 1.3生产与消费
p1-4 (p16): 1.4服务端参数配置
p1-5 (p18): 1.5总结
p2 (p19): 第2章 生产者
p2-1 (p19): 2.1客户端开发
p2-1-1 (p21): 2.1.1必要的参数配置
p2-1-2 (p23): 2.1.2消息的发送
p2-1-3 (p27): 2.1.3序列化
p2-1-4 (p31): 2.1.4分区器
p2-1-5 (p33): 2.1.5生产者拦截器
p2-2 (p36): 2.2原理分析
p2-2-1 (p36): 2.2.1整体架构
p2-2-2 (p39): 2.2.2元数据的更新
p2-3 (p40): 2.3重要的生产者参数
p2-4 (p44): 2.4总结
p3 (p45): 第3章 消费者
p3-1 (p45): 3.1消费者与消费组
p3-2 (p47): 3.2客户端开发
p3-2-1 (p49): 3.2.1必要的参数配置
p3-2-2 (p51): 3.2.2订阅主题与分区
p3-2-3 (p54): 3.2.3反序列化
p3-2-4 (p59): 3.2.4消息消费
p3-2-5 (p62): 3.2.5位移提交
p3-2-6 (p70): 3.2.6控制或关闭消费
p3-2-7 (p72): 3.2.7指定位移消费
p3-2-8 (p79): 3.2.8再均衡
p3-2-9 (p81): 3.2.9消费者拦截器
p3-2-10 (p84): 3.2.10多线程实现
p3-2-11 (p93): 3.2.11重要的消费者参数
p3-3 (p96): 3.3总结
p4 (p97): 第4章 主题与分区
p4-1 (p97): 4.1主题的管理
p4-1-1 (p98): 4.1.1创建主题
p4-1-2 (p106): 4.1.2分区副本的分配
p4-1-3 (p111): 4.1.3查看主题
p4-1-4 (p113): 4.1.4修改主题
p4-1-5 (p117): 4.1.5配置管理
p4-1-6 (p120): 4.1.6主题端参数
p4-1-7 (p122): 4.1.7删除主题
p4-2 (p125): 4.2初识KafkaAdminClient
p4-2-1 (p125): 4.2.1基本使用
p4-2-2 (p130): 4.2.2主题合法性验证
p4-3 (p132): 4.3分区的管理
p4-3-1 (p132): 4.3.1优先副本的选举
p4-3-2 (p136): 4.3.2分区重分配
p4-3-3 (p140): 4.3.3复制限流
p4-3-4 (p146): 4.3.4修改副本因子
p4-4 (p150): 4.4如何选择合适的分区数
p4-4-1 (p150): 4.4.1性能测试工具
p4-4-2 (p153): 4.4.2分区数越多吞吐量就越高吗
p4-4-3 (p155): 4.4.3分区数的上限
p4-4-4 (p159): 4.4.4考量因素
p4-5 (p160): 4.5总结
p5 (p161): 第5章 日志存储
p5-1 (p161): 5.1文件目录布局
p5-2 (p164): 5.2日志格式的演变
p5-2-1 (p165): 5.2.1 v0版本
p5-2-2 (p167): 5.2.2 v1版本
p5-2-3 (p168): 5.2.3消息压缩
p5-2-4 (p170): 5.2.4变长字段
p5-2-5 (p174): 5.2.5 v2版本
p5-3 (p180): 5.3日志索引
p5-3-1 (p181): 5.3.1偏移量索引
p5-3-2 (p183): 5.3.2时间戳索引
p5-4 (p185): 5.4日志清理
p5-4-1 (p185): 5.4.1日志删除
p5-4-2 (p188): 5.4.2日志压缩
p5-5 (p192): 5.5磁盘存储
p5-5-1 (p194): 5.5.1页缓存
p5-5-2 (p195): 5.5.2磁盘I/O流程
p5-5-3 (p198): 5.5.3零拷贝
p5-6 (p200): 5.6总结
p6 (p201): 第6章 深入服务端
p6-1 (p201): 6.1协议设计
p6-2 (p209): 6.2时间轮
p6-3 (p213): 6.3延时操作
p6-4 (p217): 6.4控制器
p6-4-1 (p217): 6.4.1控制器的选举及异常恢复
p6-4-2 (p220): 6.4.2优雅关闭
p6-4-3 (p228): 6.4.3分区leader的选举
p6-5 (p229): 6.5参数解密
p6-5-1 (p229): 6.5.1 broker.id
p6-5-2 (p231): 6.5.2 bootstrap.servers
p6-5-3 (p236): 6.5.3服务端参数列表
p6-6 (p239): 6.6总结
p7 (p240): 第7章 深入客户端
p7-1 (p240): 7.1分区分配策略
p7-1-1 (p240): 7.1.1 RangeAssignor分配策略
p7-1-2 (p241): 7.1.2 RoundRobinAssignor分配策略
p7-1-3 (p242): 7.1.3 StickyAssignor分配策略
p7-1-4 (p245): 7.1.4自定义分区分配策略
p7-2 (p252): 7.2消费者协调器和组协调器
p7-2-1 (p252): 7.2.1旧版消费者客户端的问题
p7-2-2 (p254): 7.2.2再均衡的原理
p7-3 (p264): 7.3_consumer_offsets剖析
p7-4 (p268): 7.4事务
p7-4-1 (p268): 7.4.1消息传输保障
p7-4-2 (p269): 7.4.2幂等
p7-4-3 (p270): 7.4.3事务
p7-5 (p283): 7.5总结
p8 (p284): 第8章 可靠性探究
p8-1 (p284): 8.1副本剖析
p8-1-1 (p285): 8.1.1失效副本
p8-1-2 (p287): 8.1.2 ISR的伸缩
p8-1-3 (p289): 8.1.3 LEO与HW
p8-1-4 (p292): 8.1.4 Leader Epoch的介入
p8-1-5 (p297): 8.1.5为什么不支持读写分离
p8-2 (p299): 8.2日志同步机制
p8-3 (p301): 8.3可靠性分析
p8-4 (p305): 8.4总结
p9 (p306): 第9章 Kafka应用
p9-1 (p306): 9.1命令行工具
p9-1-1 (p307): 9.1.1消费组管理
p9-1-2 (p309): 9.1.2消费位移管理
p9-1-3 (p313): 9.1.3手动删除消息
p9-2 (p315): 9.2 Kafka Connect
p9-2-1 (p315): 9.2.1独立模式
p9-2-2 (p319): 9.2.2 REST API
p9-2-3 (p320): 9.2.3分布式模式
p9-3 (p322): 9.3 Kafka Mirror Maker
p9-4 (p325): 9.4 Kafka Streams
p9-5 (p330): 9.5总结
p10 (p331): 第10章 Kafka监控
p10-1 (p333): 10.1监控数据的来源
p10-1-1 (p335): 10.1.1 OneMinuteRate
p10-1-2 (p336): 10.1.2获取监控指标
p10-2 (p339): 10.2消费滞后
p10-3 (p350): 10.3同步失效分区
p10-4 (p355): 10.4监控指标说明
p10-5 (p358): 10.5监控模块
p10-6 (p360): 10.6总结
p11 (p361): 第11章 高级应用
p11-1 (p361): 11.1过期时间(TTL)
p11-2 (p365): 11.2延时队列
p11-3 (p372): 11.3死信队列和重试队列
p11-4 (p373): 11.4消息路由
p11-5 (p375): 11.5消息轨迹
p11-6 (p377): 11.6消息审计
p11-7 (p379): 11.7消息代理
p11-7-1 (p380): 11.7.1快速入门
p11-7-2 (p382): 11.7.2 REST API介绍及示例
p11-7-3 (p388): 11.7.3服务端配置及部署
p11-7-4 (p391): 11.7.4应用思考
p11-8 (p392): 11.8消息中间件选型
p11-8-1 (p393): 11.8.1各类消息中间件简述
p11-8-2 (p393): 11.8.2选型要点概述
p11-8-3 (p400): 11.8.3消息中间件选型误区探讨
p11-9 (p401): 11.9总结
p12 (p402): 第12章 Kafka与Spark的集成
p12-1 (p403): 12.1 Spark的安装及简单应用
p12-2 (p406): 12.2 Spark编程模型
p12-3 (p410): 12.3 Spark的运行结构
p12-4 (p412): 12.4 Spark Streaming简介
p12-5 (p416): 12.5 Kafka与Spark Streaming的整合
p12-6 (p423): 12.6 Spark SQL
p12-7 (p426): 12.7 Structured Streaming
p12-8 (p430): 12.8 Kafka与Structured Streaming的整合
p12-9 (p437): 12.9总结
p13 (p438): 附录A Kafka源码环境搭建
开源日期
2023-07-02
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #9 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:JDownloader -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.