深入理解Kafka:核心设计与实践原理 出版时间:2019内容简介 本书从Kafka的基本概念入手,主要从生产端、消费端、服务端等3个方面进行全面的陈述,主要内容包括Kafka的基本使用方式、生产者客户端的使用、消费者客户端的使用、主题与分区、日志存储、深入原理解析、监控的设计、高级应用的扩展以及与Spark的集成等。虽然Kafka的内核使用Scala语言编写,但是本书基本以Java语言作为主要的示例语言,方便绝大多数读者的理解。本书虽然没有明确的界定,但是总体上可以隐性的划分为三个部分:基础篇、原理篇和扩展篇,以这种循序渐进的方式更能让读者容易接受。目录第1章 初识Kafka1.1 基本概念1.2 安装与配置1.3 生产与消费1.4 服务端参数配置1.5 总结第2章 生产者2.1 客户端开发2.1.1 必要的参数配置2.1.2 消息的发送2.1.3 序列化2.1.4 分区器2.1.5 生产者拦截器2.2 原理分析2.2.1 整体架构2.2.2 元数据的更新2.3 重要的生产者参数2.4 总结第3章 消费者3.1 消费者与消费组3.2 客户端开发3.2.1 必要的参数配置3.2.2 订阅主题与分区3.2.3 反序列化3.2.4 消息消费3.2.5 位移提交3.2.6 控制或关闭消费3.2.7 指定位移消费3.2.8 再均衡3.2.9 消费者拦截器3.2.10 多线程实现3.2.11 重要的消费者参数3.3 总结第4章 主题与分区4.1 主题的管理4.1.1 创建主题4.1.2 分区副本的分配4.1.3 查看主题4.1.4 修改主题4.1.5 配置管理4.1.6 主题端参数4.1.7 删除主题4.2 初识KafkaAdminClient4.2.1 基本使用4.2.2 主题合法性验证4.3 分区的管理4.3.1 优先副本的选举4.3.2 分区重分配4.3.3 复制限流4.3.4 修改副本因子4.4 如何选择合适的分区数4.4.1 性能测试工具4.4.2 分区数越多吞吐量就越高吗4.4.3 分区数的上限4.4.4 考量因素4.5 总结第5章 日志存储5.1 文件目录布局5.2 日志格式的演变5.2.1 v0版本5.2.2 v1版本5.2.3 消息压缩5.2.4 变长字段5.2.5 v2版本5.3 日志索引5.3.1 偏移量索引5.3.2 时间戳索引5.4 日志清理5.4.1 日志删除5.4.2 日志压缩5.5 磁盘存储5.5.1 页缓存5.5.2 磁盘I/O流程5.5.3 零拷贝5.6 总结第6章 深入服务端6.1 协议设计6.2 时间轮6.3 延时操作6.4 控制器6.4.1 控制器的选举及异常恢复6.4.2 优雅关闭6.4.3 分区leader的选举6.5 参数解密6.5.1 broker.id6.5.2 bootstrap.servers6.5.3 服务端参数列表6.6 总结第7章 深入客户端7.1 分区分配策略7.1.1 RangeAssignor分配策略7.1.2 RoundRobinAssignor分配策略7.1.3 StickyAssignor分配策略7.1.4 自定义分区分配策略7.2 消费者协调器和组协调器7.2.1 旧版消费者客户端的问题7.2.2 再均衡的原理7.3 __consumer_offsets剖析7.4 事务7.4.1 消息传输保障7.4.2 幂等7.4.3 事务7.5 总结第8章 可靠性探究8.1 副本剖析8.1.1 失效副本8.1.2 ISR的伸缩8.1.3 LEO与HW8.1.4 Leader Epoch的介入8.1.5 为什么不支持读写分离8.2 日志同步机制8.3 可靠性分析8.4 总结第9章 Kafka应用9.1 命令行工具9.1.1 消费组管理9.1.2 消费位移管理9.1.3 手动删除消息9.2 Kafka Connect9.2.1 独立模式9.2.2 REST API9.2.3 分布式模式9.3 Kafka Mirror Maker9.4 Kafka Streams9.5 总结第10章 Kafka监控10.1 监控数据的来源10.1.1 OneMinuteRate10.1.2 获取监控指标10.2 消费滞后10.3 同步失效分区10.4 监控指标说明10.5 监控模块10.6 总结第11章 高级应用11.1 过期时间(TTL)11.2 延时队列11.3 死信队列和重试队列11.4 消息路由11.5 消息轨迹11.6 消息审计11.7 消息代理11.7.1 快速入门11.7.2 REST API介绍及示例11.7.3 服务端配置及部署11.7.4 应用思考11.8 消息中间件选型11.8.1 各类消息中间件简述11.8.2 选型要点概述11.8.3 消息中间件选型误区探讨11.9 总结第12章 Kafka与Spark的集成12.1 Spark的安装及简单应用12.2 Spark编程模型12.3 Spark的运行结构12.4 Spark Streaming简介12.5 Kafka与Spark Streaming的整合12.6 Spark SQL12.7 Structured Streaming12.8 Kafka与Structured Streaming的整合12.9 总结附录A Kafka源码环境搭建 上一篇: Microsoft Power BI数据可视化与数据分析 下一篇: 云计算与虚拟化技术丛书 云数据中心网络与SDN:技术架构与实现