作品简介

《深入理解Kafka:核心设计与实践原理》从Kafka的基础概念切入,循序渐进地转入对其内部原理的剖析。《深入理解Kafka:核心设计与实践原理》主要阐述了Kafka中生产者客户端、消费者客户端、主题与分区、日志存储、原理解析、监控管理、应用扩展及流式计算等内容。虽然Kafka的内核使用Scala语言编写,但《深入理解Kafka:核心设计与实践原理》基本以Java语言作为主要的示例语言,方便大多数读者的理解。虽然《深入理解Kafka:核心设计与实践原理》没有明确的界定,但总体上可以划分为三个部分:基础篇、原理篇和扩展篇,前4章为基础篇,包括基础概念、生产者、消费者,以及主题与分区,学习完这4章的内容完全可以应对绝大多数的开发场景。第5章至第8章为原理篇,包括对日志存储、协议设计、控制器、组协调器、事务、一致性、可靠性等内容的探究,学习完这4章的内容可以让读者对Kafka有一个深刻的认知。最后4章从应用扩展层面来做讲解,可以归类为扩展篇,主要内容包括监控、应用工具、应用扩展(延时队列、重试队列、死信队列、消息轨迹等)、与Spark的集成等,让读者可以对Kafka的生态有一个更加全面的认知。

《深入理解Kafka:核心设计与实践原理》定位为一本实战与原理相结合的书,既适合Kafka的初学者,也适合于对Kafka有一定深度认知的老手。

朱忠华,目前主要从事消息中间件相关的研发工作,对RabbitMQ、Kafka等有着自己独特的理解。

作品目录

  • 前言
  • 第1章 初识Kafka
  • 1.1 基本概念
  • 1.2 安装与配置
  • 1.3 生产与消费
  • 1.4 服务端参数配置
  • 1.5 总结
  • 第2章 生产者
  • 2.1 客户端开发
  • 2.2 原理分析
  • 2.3 重要的生产者参数
  • 2.4 总结
  • 第3章 消费者
  • 3.1 消费者与消费组
  • 3.2 客户端开发
  • 3.3 总结
  • 第4章 主题与分区
  • 4.1 主题的管理
  • 4.2 初识KafkaAdminClient
  • 4.3 分区的管理
  • 4.4 如何选择合适的分区数
  • 4.5 总结
  • 第5章 日志存储
  • 5.1 文件目录布局
  • 5.2 日志格式的演变
  • 5.3 日志索引
  • 5.4 日志清理
  • 5.5 磁盘存储
  • 5.6 总结
  • 第6章 深入服务端
  • 6.1 协议设计
  • 6.2 时间轮
  • 6.3 延时操作
  • 6.4 控制器
  • 6.5 参数解密
  • 6.6 总结
  • 第7章 深入客户端
  • 7.1 分区分配策略
  • 7.2 消费者协调器和组协调器
  • 7.3__consumer_offsets剖析
  • 7.4 事务
  • 7.5 总结
  • 第8章 可靠性探究
  • 8.1 副本剖析
  • 8.2 日志同步机制
  • 8.3 可靠性分析
  • 8.4 总结
  • 第9章 Kafka应用
  • 9.1 命令行工具
  • 9.2 Kafka Connect
  • 9.3 Kafka Mirror Maker
  • 9.4 Kafka Streams
  • 9.5 总结
  • 第10章 Kafka监控
  • 10.1 监控数据的来源
  • 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.8 消息中间件选型
  • 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 SQL
  • 12.7 Structured Streaming
  • 12.8 Kafka与Structured Streaming的整合
  • 12.9 总结
  • 附录A Kafka源码环境搭建
展开全部