kafka中訊息是以topic進行分類的,生產者生產訊息,消費者消費訊息,都是面向topic的。
由於生產者生產的訊息會不斷追加到log檔案末尾,為防止log檔案過大導致資料定位效率低下,kafka採取了分片和索引機制,將每個partition分為多個segment。每個segment對應兩個檔案——「.index」檔案和「.log」檔案。這些檔案位於乙個資料夾下,該資料夾的命名規則為:topic名稱+分割槽序號。例如,first這個topic有三個分割槽,則其對應的資料夾為first-0,first-1,first-2。
00000000000000000000.index
00000000000000000000.log
00000000000000170410.index
00000000000000170410.log
00000000000000239430.index
00000000000000239430.log
index和log檔案以當前segment的第一條訊息的offset命名。下圖為index檔案和log檔案的結構示意圖。
「.index」檔案儲存大量的索引資訊,「.log」檔案儲存大量的資料,索引檔案中的元資料指向對應資料檔案中message的物理偏移位址。
Kafka工作流程及檔案儲存機制
kafka 中訊息是以 topic 進行分類的,生產者生產訊息,消費者消費訊息,都是面向 topic的。topic 是邏輯上的概念,而 partition 是物理上的概念,每個 partition 對應於乙個 log 文 件,該 log 檔案中儲存的就是 producer 生產的資料。produce...
Kafka工作流程及檔案儲存機制
一 基礎架構 1 kafka中訊息是以topic進行分類的,生產者生產訊息,消費者消費訊息,都是面向topic的。2 topic是邏輯上的概念,而partition是物理上的概念 3 每個partition對應於乙個log檔案,該log檔案中儲存的就是producer生產的資料 log檔案的儲存位置...
Kafka學習筆記(四)工作流程
1.生產者定期向主題傳送訊息。2.kafka 儲存為該特定主題配置的分割槽中的所有訊息。它確保訊息在分割槽之間平等共享。如果生產者傳送兩個訊息並且有兩個分割槽,kafka將在第一分區中儲存乙個訊息,在第二分割槽中儲存第二訊息。3.消費者訂閱特定主題。4.一旦消費者訂閱主題,kafka將向消費者提供主...