kafka-- 過期檔案的刪除

大軍發表於2022-03-30

RocketMQ -- 過期檔案的刪除,kafka也會定期清理檔案。

在Broker啟動的時候,就會啟動一個定時任務,延遲30s,然後每5分鐘就開始去判斷釋放要刪除過期檔案。

image.png

任務開始的時候,就會遍歷所有的Segment檔案。

預設情況下,僅保留7天的檔案。判斷時間是通過Segment檔案中的最大時間戳largestTimestamp來判斷的,而不是檔案的修改時間。

image.png

如果所有的Segment檔案都被刪除了,那需要建立一個新的Segment檔案。

image.png

如果當前有多個Segment檔案,那這幾個Segment檔案的總大小如果超過了設定的閾值,假設超過了2.5G,而每個Segment檔案都是1G,那需要刪除3個Segment檔案才可以保證Segment檔案的總大小小於了設定的閾值。

和上面一樣,如果所有的Segment檔案都被刪除了,那需要建立一個新的Segment檔案。

image.png

相關文章