閱讀972 返回首頁    go 汽車大全


【Kafka源碼】Kafka代碼模塊

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

傳送門

當然,我們要分析源碼,需要下載源碼,請自行從github上麵下載。

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

下麵說明下kafka源碼的工程結構:
image

下麵主要對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:程序入口

最後更新:2017-10-23 11:33:42

  上一篇:go  2017杭州雲棲大會,.top域名不僅來了,還帶了一段freestyle
  下一篇:go  2017杭州雲棲大會,譽威注冊局攜.我愛你域名再次亮相