Apache Kafka 源碼剖析

徐郡明

  • 出版商: 電子工業
  • 出版日期: 2017-05-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 591
  • 裝訂: 平裝
  • ISBN: 7121313456
  • ISBN-13: 9787121313455
  • 相關分類: Message Queue
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書以 Kafka 0.10.0 版本源碼為基礎,針對 Kafka的架構設計到實現細節進行詳細闡述。本書共5 章,從 Kafka 的應用場景、源碼環境搭建開始逐步深入,對 Kafka 的核心概念進行分析介紹,對 Kafka 生產者、消費者、服務端的源碼進行深入的剖析,最後介紹 Kafka 常用的管理腳本實現,讓讀者不僅從宏觀設計上瞭解 Kafka,而且能夠深入到 Kafka 的細節設計之中。在源碼分析的過程中,還穿插了筆者工作積累的經驗分析和對 Kafka 設計的理解,希望能夠讓讀者可以舉一反三,不僅知其然,而且知其所以然。  本書旨在為讀者閱讀 Kafka 源碼提供幫助和指導,讓讀者更加深入地瞭解 Kafka 的運行原理、設計理念,讓讀者在設計分佈式系統時可以參考 Kafka 的優秀設計。本書的內容對於讀者全面提升自己的技術能力有很大幫助。

作者簡介

徐郡明,武漢大學碩士,目前就職於航天科技集團旗下某研究所,主要負責政企雲平台基礎架構的設計和研發工作,有多年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傳遞保證語義(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-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腳本
本章小結