Apache Kafka源码剖析

Apache Kafka源码剖析

编辑推荐

从架构设计到实现细节,从应用场景到核心概念,详细分析Kafka生产者、消费者、Server端源码。

内容简介

本书以Kafka0.10.0版本源码为基础,针对Kafka的架构设计到实现细节进行详细阐述。

本书共5章,从Kafka的应用场景、源码环境搭建开始逐步深入,对Kafka的核心概念进行分析介绍,对Kafka生产者、消费者、服务端的源码进行深入的剖析,最后介绍Kafka常用的管理脚本实现,让读者不仅从宏观设计上了解Kafka,而且能够深入到Kafka的细节设计之中。

本书为读者阅读Kafka源码提供帮助和指导,让读者更加深入地了解Kafka的运行原理、设计理念,让读者在设计分布式系统时可以参考Kafka的优秀设计。

作者简介

作者徐郡明,武汉大学硕士,目前就职于航天科技集团旗下某研究所,主要负责政企云平台基础架构的设计和研发工作,关注多项Java开源技术的发展。

章节目录

版权信息

内容简介

前言

如何阅读本书

致谢

读者服务

专家推荐

第1章 快速入门

1.1 Kafka简介

1.2 以Kafka为中心的解决方案

1.3 Kafka核心概念

1.4 搭建Kafka源码环境

本章小结

第2章 生产者

2.1 KafkaProducer使用示例

2.2 KafkaProducer分析

2.2.1 ProducerInterceptors&ProducerInterceptor

2.2.2 Kafka集群元数据

2.2.3 Serializer&Deserializer

2.2.4 Partitioner

2.3 RecordAccumulator分析

2.3.1 MemoryRecords

2.3.2 RecordBatch

2.3.3 BufferPool

2.3.4 RecordAccumulator

2.4 Sender分析

2.4.1 创建请求

2.4.2 KSelector

2.4.3 InFlightRequests

2.4.4 MetadataUpdater

2.4.5 NetworkClient

本章小结

第3章 消费者

3.1 KafkaConsumer使用示例

3.2 传递保证语义(Delivery guarantee semantic)

3.3 Consumer Group Rebalance设计

3.4 KafkaConsumer分析

3.4.1 ConsumerNetworkClient

3.4.2 SubscriptionState

3.4.3 ConsumerCoordinator

3.4.4 PartitionAssignor分析

3.4.5 Heartbeat分析

3.4.6 Rebalance实现

3.4.7 offset操作

3.4.8 Fetcher

3.4.9 KafkaConsumer分析总结

本章小结

第4章 Kafka服务端

4.1 网络层

4.1.1 Reactor模式

4.1.2 SocketServer

4.1.3 AbstractServerThread

4.1.4 Acceptor

4.1.5 Processor

4.1.6 RequestChannel

4.2 API层

4.2.1 KafkaRequestHandler

4.2.2 KafkaApis

4.3 日志存储

4.3.1 基本概念

4.3.2 FileMessageSet

4.3.3 ByteBufferMessageSet

4.3.4 OffsetIndex

4.3.5 LogSegment

4.3.6 Log

4.3.7 LogManager

4.4 DelayedOperationPurgatory组件

4.4.1 TimingWheel

4.4.2 SystemTimer

4.4.3 DelayedOperation

4.4.4 DelayedOperationPurgatory

4.4.5 DelayedProduce

4.4.6 DelayedFetch

4.5 副本机制

4.5.1 副本

4.5.2 分区

4.5.3 ReplicaManager

4.6 KafkaController

4.6.1 ControllerChannelManager

4.6.2 ControllerContext

4.6.3 ControllerBrokerRequestBatch

4.6.4 PartitionStateMachine

4.6.5 PartitionLeaderSelector

4.6.6 ReplicaStateMachine

4.6.7 ZooKeeper Listener

4.6.8 KafkaController初始化与故障转移

4.6.9 处理ControlledShutdownRequest

4.7 GroupCoordinator

4.7.1 GroupMetadataManager

4.7.2 GroupCoordinator分析

4.8 身份认证与权限控制

4.8.1 配置SASL/PLAIN认证

4.8.2 身份认证

4.8.3 权限控制

4.9 Kafka监控

4.9.1 JMX简介

4.9.2 Metrics简介

4.9.3 Kafka中的Metrics

4.9.4 Kafka的监控功能

4.9.5 监控KSelector的指标

第5章 Kafka Tool

5.1 kafka-schmerver-start脚本

5.2 kafka-topics脚本

5.2.1 创建Topic

5.2.2 修改Topic

5.3 kafka-preferred-replica-election脚本

5.4 kafka-reassign-partitions脚本

5.5 kafka-console-producer脚本

5.6 kafka-console-consumer脚本

5.7 kafka-consumer-groups脚本

5.8 DumpLogSegments

5.9 kafka-producer-perf-test脚本

5.10 kafka-consumer-perf-test脚本

5.11 kafka-mirror-maker脚本

本章小结

参考文献

参考书籍

参考网络资源

Apache Kafka源码剖析是2017年由电子工业出版社出版,作者徐郡明。

得书感谢您对《Apache Kafka源码剖析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
Spark快速大数据分析(第2版) 电子书

涵盖Spark3.0的新特性,着重展示如何利用机器学习算法执行大数据分析。
数据压缩入门 电子书

谷歌开发高手通俗讲解数据压缩算法,高效传输和存储海量数据,打造流畅的用户体验。
R语言入门与实践 电子书

本书适合立志成为数据科学家的R语言初学者阅读。
Flutter内核源码剖析 电子书

Flutter内核源码深入剖析,从组件开发到技术综合应用,多角度介绍Flutter项目开发的方方面面。
大数据技术原理与应用(第2版) 电子书

国内高校大数据课程知名教师倾心之作,带你“零基础”学习大数据。
数据科学实战 电子书

本书注重人文精神,多角度、全方位、深入介绍数据科学的实用指南,堪称大数据时代的实战宝典。
大数据分析与挖掘 电子书

数据科学与大数据技术专业系列规划教材。强调概念+算法实践,让你“小数据”上会“算”,“大数据”上“算得快”。