Kafka源碼解析與實戰

Kafka源碼解析與實戰 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
王亮 著



點擊這裡下載
    


想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-12-02

類似圖書 點擊查看全場最低價

圖書介紹

齣版社: 機械工業齣版社
ISBN:9787111584018
版次:1
商品編碼:12277714
品牌:機工齣版
包裝:平裝
開本:16開
齣版時間:2017-12-01
用紙:膠版紙


相關圖書





圖書描述

編輯推薦

本書從LinkedIn(領英)公司內部大數據架構講起,引申齣消息隊列Kafka,接著講解Kafka的基本架構,然後著重分析Kafka內部的各模塊實現細節。從誕生背景至架構組成,再到內部實現細節,由淺入深,循序漸進。本書不僅講解Kafka內部的實現原理,而且還詳細描述Kafka外部的維護工具,對外的客戶端編程原理以及和第三方集成的方式。本書在講解Kafka的過程中穿插瞭大量的圖片,圖文並茂,生動形象,使讀者能更加深入地熟悉Kafka。


內容簡介

本書係統介紹Kafka的實現原理和應用方法,並介紹Kafka的運維工具、客戶端編程方法和第三方集成方式,深入淺齣、圖文並茂、分析透徹。本書共10章,主要內容包括:第1章介紹Kafka誕生的背景和主要涉及目標。第2章介紹Kafka的基本組成、拓撲結構以及內部的通信協議。第3章介紹Broker Server及內部的模塊組成。第4章介紹Broker Server內部的九大基本模塊。第5章介紹Broker的控製管理模塊。第6章介紹Topic的管理工具。第7章從設計原則、示例代碼、模塊組成和發送模式四個方麵介紹有關消息生産者的相關知識。第8章介紹兩種消費者:簡單消費者和高級消費者。第9章介紹Kafka的典型應用,包括與Storm、ELK、Hadoop、Spark典型大數據係統的集成。第10章介紹瞭一個綜閤實例,描述Kafka作為數據總綫在安防整體解決方案中的作用。


作者簡介

王亮 ,資深架構師,曾在華為擔任虛擬化技術工程師,後加入大華公司任分布式數據庫係統架構師,研究興趣為分布式存儲、分布式數據庫、消息係統等。


目錄


前言
第1章 Kafka簡介 1
1.1 Kafka誕生的背景 1
1.2 Kafka在LinkedIn內部的應用 3
1.3 Kafka的主要設計目標 4
1.4 為什麼使用消息係統 4
1.5 本章小結 5
第2章 Kafka的架構 6
2.1 Kafka的基本組成 6
2.2 Kafka的拓撲結構 8
2.3 Kafka內部的通信協議 9
2.4 本章小結 12
第3章 Broker概述 13
3.1 Broker的啓動 13
3.2 Broker內部的模塊組成 15
3.3 本章小結 18
第4章 Broker的基本模塊 19
4.1 SocketServer 19
4.2 KafkaRequestHandlerPool 25
4.3 KafkaApis 27
4.3.1 LogManager 27
4.3.2 ReplicaManager 37
4.3.3 OffsetManager 47
4.3.4 KafkaScheduler 51
4.3.5 KafkaApis 52
4.4 KafkaHealthcheck 81
4.5 TopicConf?igManager 83
4.6 本章小結 85
第5章 Broker的控製管理模塊 86
5.1 KafkaController的選舉策略 86
5.2 KafkaController的初始化 91
5.2.1 Leader狀態下KafkaController的初始化 91
5.2.2 Standby狀態下KafkaController的初始化 94
5.3 Topic的分區狀態轉換機製 95
5.3.1 分區狀態的分類 95
5.3.2 分區狀態的轉換 96
5.3.3 PartitionStateMachine模塊的啓動 102
5.4 Topic分區的領導者副本選舉策略 103
5.4.1 NoOpLeaderSelector 104
5.4.2 Off?linePartitionLeaderSelector 104
5.4.3 ReassignedPartitionLeader-Selector 106
5.4.4 PreferredReplicaPartition-LeaderSelector 107
5.4.5 ControlledShutdownLeader-Selector 108
5.5 Topic分區的副本狀態轉換機製 109
5.5.1 副本狀態的分類 110
5.5.2 副本狀態的轉換 111
5.5.3 ReplicaStateMachine模塊的啓動 117
5.6 KafkaController內部的監聽器 118
5.6.1 TopicChangeListener 119
5.6.2 AddPartitionsListener 121
5.6.3 PartitionsReassignedListener 122
5.6.4 ReassignedPartitionsIsr-ChangeListener 128
5.6.5 PreferredReplicaElection-Listener 130
5.6.6 BrokerChangeListener 132
5.6.7 DeleteTopicsListener 135
5.7 Kafka集群的負載均衡流程 136
5.8 Kafka集群的Topic刪除流程 140
5.9 KafkaController的通信模塊 146
5.10 本章小結 150
第6章 Topic的管理工具 151
6.1 kafka-topics.sh 151
6.1.1 createTopic 153
6.1.2 alterTopic 156
6.1.3 listTopics 160
6.1.4 describeTopic 161
6.1.5 deleteTopic 163
6.2 kafka-reassign-partitions.sh 164
6.2.1 generateAssignment 166
6.2.2 executeAssignment 167
6.2.3 verifyAssignment 170
6.3 kafka-preferred-replica-election.sh 172
6.4 本章小結 175
第7章 生産者 176
7.1 設計原則 176
7.2 示例代碼 176
7.3 模塊組成 180
7.3.1 ProducerSendThread 180
7.3.2 ProducerPool 182
7.3.3 DefaultEventHandler 184
7.4 發送模式 189
7.4.1 同步模式 189
7.4.2 異步模式 189
7.5 本章小結 192
第8章 消費者 193
8.1 簡單消費者 193
8.1.1 設計原則 193
8.1.2 消費者流程 194
8.1.3 示例代碼 195
8.1.4 原理解析 200
8.2 高級消費者 202
8.2.1 設計原則 202
8.2.2 消費者流程 203
8.2.3 示例代碼 204
8.2.4 原理解析 205
8.3 本章小結 227
第9章 Kafka的典型應用 228
9.1 Kafka和Storm的集成 228
9.1.1 Storm簡介 228
9.1.2 示例代碼 230
9.2 Kafka和ELK的集成 235
9.2.1 ELK簡介 235
9.2.2 配置流程 236
9.3 Kafka和Hadoop的集成 237
9.3.1 Hadoop簡介 237
9.3.2 示例代碼 239
9.4 Kafka和Spark的集成 242
9.4.1 Spark簡介 242
9.4.2 示例代碼 245
9.5 本章小結 247
第10章 Kafka的綜閤實例 248
10.1 安防大數據的主要應用 248
10.2 Kafka在安防整體解決方案中的角色 249
10.3 典型業務 250
10.3.1 車輛人臉圖片數據的入庫 251
10.3.2 視頻數據的入庫 252
10.3.3 數據延時的監控 254
10.3.4 數據質量的監控 256
10.3.5 布控統計 258
10.3.6 容災備份 259
10.4 本章小結 260

前言/序言

Preface序
近些年來,大數據技術蓬勃發展,各種圍繞大數據處理的平颱技術,包括組件、工具、框架越來越豐富;相關的開源工具和實踐資料也越來越多,其中消息隊列便是一個重要的組成部分。對於一個大型係統而言,我們通常需要圍繞消息來構建整個係統的邏輯,Kafka便是目前最主流的消息係統之一。網絡上有很多關於Kafka使用的文章,但是始終沒有一本全麵的從源碼和設計上展開闡述的書籍。
值得慶幸的是,本書全麵解析瞭Kafka的核心架構設計和源碼,是國內少有的針對Kafka進行係統性講解的書籍。
作者在浙江大華技術股份有限公司工作期間,一方麵參與分布式數據庫平颱開發,一方麵參與整體的係統架構設計。由於各種不同的應用場景的需求,作者所在公司內部用過多種不同消息隊列,如Kafka、ActiveMQ、RocketMQ等,同時也實操瞭大量的Hadoop、Spark等大數據技術和消息隊列的結閤應用,這些經曆使得作者能比較全麵地從理論和實踐兩個視角去看待Kafka。閱讀本書可使讀者深入瞭解Kafka的設計原理和使用技巧,相信讀者一定會有所收獲。
許焰
大華股份,研發副總經理
前  言 Preface
我開始接觸分布式計算的時候,正好需要利用Spark結閤Kafka進行流式處理。恰巧的是Kafka和Spark底層都是利用Scala語言編寫的,並且當時市麵上有關Kafka的中文書籍幾乎沒有,因此正好利用這個機會學習瞭Scala語言,並且通讀瞭Kafka和Spark的源碼,隨後把日常的積纍通過博客的形式慢慢記錄下來。在這一年多的積纍過程中,發現有關Kafka的中文書籍還是很缺乏,便有瞭總結齣書的想法,而恰在這個時候吳怡編輯通過博客聯係上瞭我,希望我把日常的積纍總結成Kafka的專業性書籍,分享給更廣大的從事大數據相關工作的人群。
本書將從初學者的角度齣發,循序漸進地講解Kafka內部的實現原理,但是由於Kafka是基於Scala語言編寫的,因此為瞭更好地閱讀本書,希望讀者對於Scala語言有大緻的瞭解。
閱讀指南
本書將從Kafka的內部實現原理、運維工具、客戶端編程以及實際應用這四個方麵齣發,係統闡述有關Kafka的各方麵知識,全書共10章,每章的大緻內容如下。
第1章介紹Kafka誕生的背景、Kafka在LinkedIn內部的應用、Kafka的主要設計目標以及為什麼使用消息係統。
第2章介紹Kafka的基本組成、拓撲結構及其內部的通信協議。
第3章描述Kafka集群組成的基本元素Broker Server的啓動以及內部的模塊組成。通過閱讀這一章,讀者能對Broker Server有整體上的印象,為之後章節的閱讀打下基礎。
第4章描述Broker Server內部的九大基本模塊:SocketServer、KafkaRequestHandlerPool、LogManager、ReplicaManager、OffsetManager、KafkaScheduler、KafkaApis、KafkaHealthcheck和TopicConfigManager。
第5章介紹Broker Server的控製管理模塊KafkaController,這個模塊負責整個Kafka集群的管理,例如:Topic的新建和刪除、分區狀態和副本狀態的轉換、集群的負載均衡管理等。
第6章介紹三個維護腳本:kafka-topics.sh、kafka-reassign-partitions.sh和kafka-preferred-replica-election.sh,它們分彆涉及Topic的生命周期管理、Topic分區的重分配和分區首選副本的選擇。
第7章從設計原則、示例代碼、模塊組成和發送模式四個部分介紹有關消息生産者的相關知識,從設計原則至客戶端編程,從客戶端編程到內部實現原理,由淺入深,循序漸進地講解。
第8章分彆介紹兩種消費者:簡單消費者和高級消費者。針對每種消費者都將依次從設計原則、消費者流程、示例代碼以及原理解析四個部分介紹消費者的相關知識。
第9章介紹Kafka與典型大數據係統的集成,包括:Kafka和Storm的集成、Kafka和ELK的集成、Kafka和Hadoop的集成以及Kafka和Spark的集成。希望通過本章使讀者對Kafka和第三方大數據平颱集成有大緻的瞭解。
第10章用綜閤實例描述瞭Kafka的應用,案例描述Kafka作為數據總綫在安防整體解決方案中的作用,通過車輛人臉圖片數據的入庫、視頻數據的入庫、數據延時的監控、數據質量的監控、布控統計和容災備份6個業務,簡要闡述內部的實現原理。
本書是基於0.8.2版本的Kafka編寫的,其相關配套的源碼可以從Kafka的官方網站上下載,下載地址為http://kafka.apache.org/downloads,也可以從開源或者私有軟件項目托管平颱GitHub上下載,下載地址為https://github.com/apache/kafka。為瞭簡化代碼流程描述,筆者會將一些日誌打印等不影響閱讀的代碼用“……”代替,如果需要知道“……”代錶的實際含義,可以參考源碼包中的真實代碼。
本書特點
由淺入深,循序漸進:本書從LinkedIn(領英)公司內部大數據架構講起,引齣消息隊列Kafka,接著講解Kafka的基本架構,然後著重分析Kafka內部的各模塊實現細節。從誕生背景至架構組成,再到內部實現細節,由淺入深,循序漸進,讓讀者在閱讀時能夠逐步瞭解Kafka。
由裏到外,層層剖析:本書不僅講解Kafka內部的實現原理,而且還詳細描述Kafka外部的維護工具,對外的客戶端編程原理以及和第三方集成的方式。由裏到外,層層剖析,讓讀者在閱讀時能夠更加全麵地掌握Kafka。
圖文並茂,生動形象:本書在講解Kafka的過程中穿插瞭大量的圖片,直觀地描述瞭工作原理,使讀者在閱讀時能夠加深對代碼的理解。
讀者對象
本書適閤以下人群閱讀:
想熟悉典型消息係統架構的大數據從業人員。
想瞭解分布式係統開發的軟件工程師。
想掌握Kafka內部實現原理的中高級開發人員。
想搭建傳統大數據框架的係統分析師。
緻謝
首先感謝我的夫人在我背後默默的付齣,是她給瞭我動力,陪伴我度過瞭長達半年之久的枯燥時光,堅定瞭我完成此書的決心。其次感謝機械工業齣版社吳怡編輯的鼓勵和支持,是她促成瞭這本書的齣版。接著感謝我的魚兒們(布隆迪、金頭虎、藍茉莉、三間鼠和反遊貓),每當我思緒混亂的時候可以靜靜地看著它們慢慢梳理。
在本書成書的過程中也得到瞭許多同事和同學的支持、鼓勵,在此一並緻謝。
由於作者水平及能力有限,加之時間倉促,本書難免存在錯誤和不妥之處,懇請廣大讀者批評指正,郵箱地址為:wangliang168219@126.com。


Kafka源碼解析與實戰 下載 mobi epub pdf txt 電子書 格式

Kafka源碼解析與實戰 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

Kafka源碼解析與實戰 下載 mobi pdf epub txt 電子書 格式 2024

Kafka源碼解析與實戰 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

好好好好好好好好好好好好好好好好好好好好好好

評分

這個給差評不是給書店的,不能怪我,這個書怎麼會被磨損瞭一角,還掛瞭點泥,書是好書,但是這個京東快遞感覺不靠譜啦。

評分

書剛買迴來,還沒看,京東快遞速度沒的說!

評分

好好好好好好好好好好好好好好好好好好好好好好

評分

這個給差評不是給書店的,不能怪我,這個書怎麼會被磨損瞭一角,還掛瞭點泥,書是好書,但是這個京東快遞感覺不靠譜啦。

評分

書剛買迴來,還沒看,京東快遞速度沒的說!

評分

商品質量好,送貨速度快,支持京東

評分

好好好好好好好好好好好好好好好好好好好好好好

評分

書剛買迴來,還沒看,京東快遞速度沒的說!

類似圖書 點擊查看全場最低價

Kafka源碼解析與實戰 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.qciss.net All Rights Reserved. 圖書大百科 版權所有