當往Kafka Topic中寫入資料提示磁碟空間已滿或Queue full時,為避免因磁碟容量不足而導致機器宕機,進而影響服務可用性,雲訊息佇列 Kafka 版會根據磁碟使用率的多少,執行不同的訊息清理策略。
清理策略
不同版本執行個體、不同類型Topic的清理策略存在差異。
非Serverless執行個體,雲端儲存Topic
磁碟使用率<75%:每天淩晨4:00集中刪除超過消息保留时长的訊息。
磁碟使用率介於[75%,85%)區間:定期刪除超過消息保留时长的訊息,直到磁碟水位降到75%以下。
磁碟使用率介於[85%,90%)區間:無論訊息是否超過消息保留时长,根據服務端儲存訊息的時間先後順序直接清除訊息。
磁碟使用率≥90%:為了保證穩定性,服務開啟禁防寫保護,暫時無法寫入新訊息。
非Serverless執行個體,Local儲存Topic
磁碟使用率<83%:按照使用者配置的TTL時間刪除訊息。
磁碟使用率介於[83%,88%)區間:無論訊息是否超過訊息保留時間長度,每個分區根據儲存訊息的時間先後順序最多清除10%比例的儲存訊息。
磁碟使用率≥88%:為了保證穩定性,服務開啟禁防寫保護,暫時無法寫入新訊息。
Serverless執行個體
按照使用者配置的TTL時間刪除訊息。
一般情況下,為了保證您的業務健康性(擁有充足的訊息回溯能力),建議您的磁碟使用率不要超過70%。
清理訊息為動態控制管理,無需且不支援手動刪除。
磁碟使用率可在執行個體詳情頁面的頁面中查看,具體操作,請參見CloudMonitor(在磁碟容量較小、流量較大的情境下,監控資料可能存在數值顯示偏差)。
Topic詳情頁面中的當前伺服器上訊息總量是指Topic上所有發送且未到期(超過訊息保留時間)的訊息總量。此數值不作為清理策略的依據。
相關文檔
如果訊息超過消息保留时长還未被刪除,具體原因,請參見為什麼訊息已經到期還未被刪除?。
當磁碟空間已滿時,除了等待自動刪除到期資料,也可以通過升配購買磁碟容量,詳情請參見升級執行個體配置。