Kafka 基本概念

衣舞晨風發表於2017-05-07

1、Producer &Broker& Consumer

這裡寫圖片描述

Broker:Kafka叢集包含一個或多個例項,每個例項稱為Broker
三者之間的互動方式是:
Producer推送資料給Broker
Consumer從Broker拉取資料。

2、Topic

  • 邏輯概念,同一個Topic的訊息可分佈在一個或多個節點(Broker)上
  • 一個Topic包含一個或者多個Partition
  • 每條訊息都屬於且僅屬於一個Topic
  • Producer釋出資料時,必須指定將該訊息釋出到哪一個Topic
  • Consumer訂閱訊息時,也必須指定訂閱哪個Topic的訊息
    這裡寫圖片描述

從圖中可以看出,kafka會將topic的資料均勻的分配到不同的broker上。

3、Partition

  • 物理概念,一個Partition只分佈於一個Broker上(不考慮備份)
  • 一個Partition物理上對應一個資料夾
  • 一個Partition包含多個Segment(Segment對使用者透明,即對使用者是不可見的。)
  • 一個Segment對應一個檔案
  • Segment由一個個不可變記錄組成
  • 記錄只會被append到Segment中,不會被單獨刪除或者修改
  • 清除過期日誌時,直接刪除一個或多個Segment

這裡寫圖片描述
Partition中的資料都會有一個當前partition唯一序列號,稱為Offset。

小注:
本文部分內容及全部圖片來自:郭俊(Jason Guo)

作者:jiankunking 出處:http://blog.csdn.net/jiankunking

相關文章