【Kafka源碼】Kafka代碼模塊

Kafka源碼依賴於Scala環境,首先須要安裝scala,這塊請自行百度進行安裝。html

傳送門java

固然,咱們要分析源碼,須要下載源碼,請自行從github上面下載。git

說明:本文使用的kafka版本爲0.10.0.1,這是目前公司使用的版本。github

下面說明下kafka源碼的工程結構: imageapi

下面主要對core目錄模塊進行說明,這塊是kafka的核心。安全

  • admin:管理員模塊,操做和管理topic,paritions相關,包含create,delete topic,擴展patitions
  • api:這塊主要負責數據的組裝,客戶端和服務端數據交互的組裝
  • client:這個模塊比較簡單,只有一個類,主要是獲取一些元數據,包括topic、broker等
  • cluster:該模塊定義了幾個在kafka中比較重要的類:Broker,BrokerEndPoint,Cluster,EndPoint,Partition,Replica等,後續咱們會對他們之間的關係進行分析
  • common:通用類,定義了一些異常類等等
  • consumer:comsumer處理模塊,負責與消費者相關的操做
  • controller:負責中央控制器選舉,partition的leader選舉,副本分配,副本從新分配,partition和replica擴容
  • coordinator:協調器,rebalance的一些協調器,好比延遲心跳等
  • javaapi:kafka提供出來的java生產消費的api
  • log:文件存儲模塊,負責讀寫全部kafka的topic消息數據,也就是消息持久化模塊
  • message:封裝多個消息組成一個「消息集」或壓縮消息集
  • metrics:內部狀態監控模塊
  • network:kafka的網絡處理模塊,負責接受和處理客戶端鏈接
  • producer:生產者模塊,包括同步和異步發送消息
  • security.auth:安全認證模塊
  • serializer:序列化和反序列化工具
  • server:kafka服務啓動相關內容
  • tools:工具模塊,內容挺多,主要是與kafka相關的工具
  • utils:通用工具模塊,包括zk等等
  • Kafka:程序入口
相關文章
相關標籤/搜索