Kafka訊息保留 清理策略

2021-09-25 21:25:27 字數 552 閱讀 3055

kafka broker預設的訊息保留策略是:要麼保留一定時間,要麼保留到訊息達到一定大小的位元組數。

當訊息達到設定的條件上限時,舊訊息就會過期並被刪除,所以,在任何時刻,可用訊息的總量都不會超過配置引數所指定的大小。

topic可以配置自己的保留策略,可以將訊息保留到不再使用他們為止。

因為在乙個大檔案裡查詢和刪除訊息是很費時的事,也容易出錯,所以,分割槽被劃分為若干個片段。預設情況下,每個片段包含1g或者一周的資料,以較小的那個為準。在broker往leader分割槽寫入訊息時,如果達到片段上限,就關閉當前檔案,並開啟乙個新檔案。當前正在寫入資料的片段叫活躍片段。當所有片段都被寫滿時,會清除下乙個分割槽片段的資料,如果配置的是7個片段,每天開啟乙個新片段,就會刪除乙個最老的片段,迴圈使用所有片段。

日誌清理:

kafka提供兩種日誌清理策略,刪除和壓縮。通過引數cleanup.policy來指定清理策略。日誌清理可以控制到主題級別,可以為不同主題建立不同的清理策略。

kafka傳送訊息分割槽策略詳解

背景 乙個簡單的用scala往kafka裡寫資料demo,每次執行只往乙個分割槽寫入資料,下次執行又選另乙個分割槽一直寫入。傳送例子 def main args array string unit 原因探索 keyedmessage有兩種例項化方式導致 def this topic string m...

kafka 生產者訊息分發策略

訊息是kafka中最基本的額資料單元,在kafka中,一條訊息由key value兩部分構成,在傳送一條訊息時,我們可以指定這個key,producer會根據key來判斷當前這條訊息應該 路由儲存到哪個partition。預設情況下,kafka採用的是對key進行hash取模計算出分割槽。如果key...

kafka 訊息的分割槽分配策略

訊息的消費原理 觸發分割槽分配策略的條件 topic 在kafka 中,topic是乙個儲存訊息的邏輯概念,可以認為是乙個訊息的集合。每條訊息傳送到 kafka 集群的訊息都有乙個類別。每個topic可以有多個生產者向他傳送訊息,也可以有多個消費者去消費訊息 partition 每個topic 可以...