kindle电子书

资源下载,尽在我的书库!
首页 > kindle电子书库 > 工业|计算机|互联网 > 电子、计算机、网络

Apache Kafka源码剖析

  • 作者:[中] 徐郡明
  • 体积:16.55 MB
  • 语言:中文
  • 日期:2018-10-08
  • 推荐:

简介:本书以 Kafka 0.10.0 版本源码为基础,针对 Kafka的架构设计到实现细节进行详细阐述。本书共5 章,从 Kafka 的应用场景、源码环境搭建开始逐步深入,对 Kafka 的核心概念进行分析介绍,对 Kafka 生产者、消费者、服务端的源码进行深入的剖析,最后介绍 Kafka 常用的管理脚本实现,让读者不仅从宏观设计上了解 Kafka,而且能够深入到 Kafka 的细节设计之中。在源码分析的过程中,还穿插了笔者工作积累的经验分析和对 Kafka 设计的理解,希望能够让读者可以举一反三,不仅知其然,而且知其所以然。 

电子书详细介绍

 本书以 Kafka 0.10.0 版本源码为基础,针对 Kafka的架构设计到实现细节进行详细阐述。本书共5 章,从 Kafka 的应用场景、源码环境搭建开始逐步深入,对 Kafka 的核心概念进行分析介绍,对 Kafka 生产者、消费者、服务端的源码进行深入的剖析,最后介绍 Kafka 常用的管理脚本实现,让读者不仅从宏观设计上了解 Kafka,而且能够深入到 Kafka 的细节设计之中。在源码分析的过程中,还穿插了笔者工作积累的经验分析和对 Kafka 设计的理解,希望能够让读者可以举一反三,不仅知其然,而且知其所以然。

  本书旨在为读者阅读 Kafka 源码提供帮助和指导,让读者更加深入地了解 Kafka 的运行原理、设计理念,让读者在设计分布式系统时可以参考 Kafka 的优秀设计。本书的内容对于读者全面提升自己的技术能力有很大帮助。

编辑推荐

Kafka是一种高吞吐量的分布式发布订阅消息系统,,本书以Kafka 0.10.0版本源码为基础,深入剖析了Kafka的各个模块的实现,包括Kafka的生产者客户端、消费者客户端、服务端的各个模块以及常用的管理脚本。作者对Kafka设计的理解和经验分享也穿插在了剖析源码的过程中,可以帮助读者学习Kafka中优秀的设计思想以及Java和Scala的编程技巧和规范。

作者简介

徐郡明,武汉大学硕士,目前就职于航天科技集团旗下某研究所,主要负责政企云平台基础架构的设计和研发工作,有多年Kafka应用和设计经验。长期关注大数据处理相关技术以及Kafka的发展。

目录

第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 传递保证语义(Deliveryguaranteesemantic)
3.3 ConsumerGroupRebalance设计
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 ZooKeeperListener
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章 KafkaTool
5.1 kafka—server—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脚本
本章小结

我来说两句

本书评论

共有 0 条评论
图书分类
我的书库手机端
帮助中心
会员登录 ×
新用户注册 ×