欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kafka日志清理實(shí)現(xiàn)詳細(xì)過(guò)程講解

 更新時(shí)間:2023年05月17日 09:22:30   作者:shysh  
這篇文章主要為大家介紹了Kafka日志清理實(shí)現(xiàn)詳細(xì)過(guò)程講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Kafka日志清理目前主要有兩種策略:

  • 日志刪除
  • 日志壓縮:日志壓縮就是根據(jù)key來(lái)保留最后一條消息。

Kafka提供log.cleanup.policy參數(shù)進(jìn)行相應(yīng)配置,默認(rèn)值:delete,還可以選擇compact。

日志刪除

配置默認(rèn)值說(shuō)明
log.retention.check.interval.ms300000 (5分鐘)檢測(cè)頻率
log.retention.hours168 (7天)日志保留時(shí)間小時(shí)
log.retention.minutes日志保留時(shí)間分鐘
log.retention.ms日志保留時(shí)間毫秒
file.delete.delay.ms60000 (1分鐘)延遲執(zhí)行刪除時(shí)間
log.retention.bytes-1 無(wú)窮大運(yùn)行保留日志文件最大值
log.retention.bytes1073741824 (1G)日志文件最大值

Kafka會(huì)根據(jù)檢測(cè)頻率周期性的檢測(cè)日志是否需要?jiǎng)h除,日志刪除策略主要有以下集中:

  • 基于時(shí)間的刪除策略
  • 基于文件大小的刪除策略
  • 基于日志文件起始偏移量

基于時(shí)間刪除

Kafka會(huì)查找日志段的時(shí)間戳索引文件中的最后一條記錄,如果最后一條timestamp小于0,則取最近修改時(shí)間。

當(dāng)確認(rèn)完需要?jiǎng)h除的日志段以后,需要進(jìn)行以下刪除操作:

  • 從日志對(duì)象中所維護(hù)日志分段的ConcurrentSkipListMap中移除待刪除的日志分段,保證沒(méi)有線程對(duì)這些日志分段進(jìn)行讀取操作。
  • 為日志段中的所有文件加上.delete后綴
  • Kafka中會(huì)有一個(gè)命名為"delete-file"的延遲任務(wù)來(lái)刪除這些無(wú)效的日志數(shù)據(jù)

假如當(dāng)前日志段中也有需要?jiǎng)h除的數(shù)據(jù),那么kafka會(huì)先進(jìn)行分段,創(chuàng)建一個(gè)新的活躍日志段,然后執(zhí)行刪除操作。

基于大小刪除

  • 計(jì)算需要?jiǎng)h除的日志大小的總和(當(dāng)前日志大小-所允許的日志文件最大值)
  • 然后從第一個(gè)日志分段開(kāi)始查找,查找可以進(jìn)行刪除的日志段集合
  • 最后執(zhí)行刪除操作

基于日志文件起始偏移量

日志文件起始偏移量默認(rèn)等于第一個(gè)日志段的基準(zhǔn)偏移量,但隨著數(shù)據(jù)的刪除操作,該值也在不斷變化。

基于日志文件起始偏移量的判斷規(guī)則是,如果一個(gè)日志段的下一個(gè)日志段的起始偏移量如果小于日志文件起始偏移量,那么該日志段就可以被加入到刪除隊(duì)列,最后執(zhí)行刪除。

以上就是Kafka日志清理實(shí)現(xiàn)詳細(xì)過(guò)程講解的詳細(xì)內(nèi)容,更多關(guān)于Kafka日志清理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MyBatis映射文件中的動(dòng)態(tài)SQL實(shí)例詳解

    MyBatis映射文件中的動(dòng)態(tài)SQL實(shí)例詳解

    在本文中,我們深入探討了動(dòng)態(tài)SQL的各種標(biāo)簽,包括<if>、<choose>、<trim>、<foreach>等,通過(guò)實(shí)際的例子演示了它們的用法,感興趣的朋友一起揭開(kāi)動(dòng)態(tài)SQL的神秘面紗,帶你領(lǐng)略它的魅力
    2024-01-01
  • java實(shí)現(xiàn)6種字符串?dāng)?shù)組的排序(String array sort)

    java實(shí)現(xiàn)6種字符串?dāng)?shù)組的排序(String array sort)

    這篇文章主要介紹了java實(shí)現(xiàn)6種字符串?dāng)?shù)組的排序(String array sort),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Java中使用Jedis操作Redis的示例代碼

    Java中使用Jedis操作Redis的示例代碼

    本篇文章主要介紹了Java中使用Jedis操作Redis的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2016-12-12
  • spring自定義一個(gè)簡(jiǎn)單的Starter啟動(dòng)器

    spring自定義一個(gè)簡(jiǎn)單的Starter啟動(dòng)器

    這篇文章主要介紹了spring自定義一個(gè)簡(jiǎn)單的Starter啟動(dòng)器,一個(gè) starter其實(shí)就是對(duì)一個(gè)功能的集成封裝,然后對(duì)外提供一個(gè)依賴(lài),讓業(yè)務(wù)去使用,像我們熟悉的 Redis,mongo,mybatis 等均屬于,需要的朋友可以參考下
    2023-07-07
  • 深入淺析SPI機(jī)制在JDK與Spring?Boot中的應(yīng)用

    深入淺析SPI機(jī)制在JDK與Spring?Boot中的應(yīng)用

    SPI是一種使軟件框架或庫(kù)更加模塊化、可擴(kuò)展和可維護(hù)的有效方法。通過(guò)遵循“開(kāi)閉原則”,?SPI?確保了系統(tǒng)的穩(wěn)定性和靈活性,從而滿(mǎn)足了不斷變化的業(yè)務(wù)需求,這篇文章主要介紹了SPI機(jī)制在JDK與Spring?Boot中的應(yīng)用,需要的朋友可以參考下
    2023-09-09
  • mybatis-plus 處理大數(shù)據(jù)插入太慢的解決

    mybatis-plus 處理大數(shù)據(jù)插入太慢的解決

    這篇文章主要介紹了mybatis-plus 處理大數(shù)據(jù)插入太慢的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Spring學(xué)習(xí)筆記之RestTemplate使用小結(jié)

    Spring學(xué)習(xí)筆記之RestTemplate使用小結(jié)

    這篇文章主要給大家介紹了關(guān)于Spring學(xué)習(xí)筆記之RestTemplate使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • 如何使用Spring Boot ApplicationRunner解析命令行中的參數(shù)

    如何使用Spring Boot ApplicationRunner解析命令行中的參數(shù)

    這篇文章主要介紹了使用Spring Boot ApplicationRunner解析命令行中的參數(shù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • Java編程基礎(chǔ)元素-運(yùn)算符

    Java編程基礎(chǔ)元素-運(yùn)算符

    這篇文章主要介紹了Java編程基礎(chǔ)元素-運(yùn)算符,運(yùn)算符就是在用變量或常量進(jìn)行運(yùn)算時(shí),經(jīng)常需要用到的運(yùn)算符,Java?提供了豐富的運(yùn)算符,可分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符,下面來(lái)看具體的內(nèi)容介紹吧
    2022-01-01
  • Spring MVC Mybatis多數(shù)據(jù)源的使用實(shí)例解析

    Spring MVC Mybatis多數(shù)據(jù)源的使用實(shí)例解析

    項(xiàng)目需要從其他網(wǎng)站獲取數(shù)據(jù),因?yàn)槭桥R時(shí)加的需求,這篇文章主要介紹了Spring MVC Mybatis多數(shù)據(jù)源的使用實(shí)例解析,需要的朋友可以參考下
    2016-12-12

最新評(píng)論