producer
向topic-leader
分類推送資料,每乙個佇列的主題都不同。
topic-leader
向topic-follower
實時備份資料,防止topic-leader
突然掛掉。
consumer
消費topic-leader
中的資料,以offset
為標誌,表示消費到的位置,以便出錯恢復時,從上次的位置繼續消費。
kafka 中訊息是以 topic 進行分類的,生產者生產訊息,消費者消費訊息,都是面向 topic
的。topic 是邏輯上的概念,而 partition 是物理上的概念,每個 partition 對應於乙個 log 文
件,該 log 檔案中儲存的就是 producer 生產的資料。
producer 生產的資料會被不斷追加到該log 檔案末端,且每條資料都有自己的 offset。
因為生產者的訊息會不斷的堆積在log檔案內,為了防止因為堆積過多而導致資料定位效率降低,所以kafka採用了分片+索引
機制,將乙個分割槽分成多個segment
,每乙個segment
對應了兩個檔案 –.log
與.index
檔案。前者存放資料,後者存放索引,這些檔案位於乙個資料夾下,該資料夾的命名規則為:topic 名稱+分割槽序號
。例如topic0、topic1、topic2
。
index
和log
檔案以當前segment
的第一條訊息的offset
命名。
假如offset
是170410,那麼檔名就是00000000000000170410.index/.log(總長20,別數了)
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高階 6 Kafka配額限速機制
生產者和消費者以極高的速度生產 消費大量資料或產生請求,從而占用broker上的全部資源,造成網路io飽和。有了配額 quotas 就可以避免這些問題。kafka支援配額管理,從而可以對producer和consumer的produce fetch操作進行流量限制,防止個別業務壓爆伺服器。為所有cl...