《kafka核心原始碼解讀》總結一 總覽

2021-10-23 16:32:31 字數 983 閱讀 7537

kafak核心目錄:

bin 目錄:儲存 kafka 工具行指令碼,kafka-server-start 和 kafka-consoleproducer 等

clients 目錄:儲存 kafka 客戶端**,比如生產者和消費者的**

config 目錄:儲存 kafka 的配置檔案,如 server.properties

connect 目錄:儲存 connect 元件的源**,,該元件是用來實現 kafka 與外部系統之間的實時資料傳輸的

core 目錄:儲存 broker 端**,伺服器端**全部儲存在該目錄下

controller 包:儲存了 kafka 控制器(controller)**,控制器元件是 kafka 的核 心元件

coordinator 包:儲存了消費者端的 groupcoordinator **和用於事務的 transactioncoordinator ** log 包:儲存了 kafka 最核心的日誌結構**,包括日誌、日誌段、索引檔案等,還封裝了 log compaction 的實現機制

network 包:封裝了 kafka 伺服器端網路層的**,特別是 socketserver.scala 這個文 件,是 kafka 實現 acceptor 模式的具體操作類

server 包:kafka 的伺服器端主**,裡面的類非常多,很多關鍵的 kafka 元件都存放在這裡,比如狀態機、purgatory 延時機制等

streams 目錄:儲存 streams 元件的源**,是實現 kafka 實時流處理的元件

核心原始碼解讀基礎

module init巨集的定義 第一段 typedef int initcall t void define define initcall level,fn,id static initcall t initcall fn id attribute used attribute section ...

jQuery原始碼解讀一

前言 我為什麼要看這個原始碼,很簡單,尋找我自己寫的js框架與jquery之間的差異,取長補短,最終目標是提高js程式設計的乙個眼界,看看別人是怎麼想的,因為自己乙個人的想法往往是片面的,也為了能讓自己的主觀漸漸接近客觀事實。雖然jquery框架能直接拿來用,但是對於偏愛研究的人來說,還是喜歡寫原生...

hadoop原始碼解讀一

開啟已經編譯的hadoop資料夾,bin 看來像hadoop下的各種服務和元件,有cotainer,hdfs,mapred,yarn sbin hadoop各項服務的啟動指令碼,配置指令碼 反正裡面全是指令碼 設定各方面的都有 etc 各項的配置檔案,只要可以配置的都在裡面,包括dfs配置,排程器配...