日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kafka数据存储详解

發(fā)布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kafka数据存储详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.存儲格式概述

?

  • 每一個partion(文件夾)相當于一個巨型文件被平均分配到多個大小相等segment(段)數(shù)據(jù)文件里。但每一個段segment file消息數(shù)量不一定相等,這樣的特性方便old segment fifile高速被刪除。(默認情況下每一個文件大小為1G)

  • 每一個partiton僅僅須要支持順序讀寫即可了。segment文件生命周期由服務(wù)端配置參數(shù)決定。

partiton中segment文件存儲結(jié)構(gòu)

segment fifile組成:由2大部分組成。分別為index file和data file,此2個文件一一相應(yīng),成對出現(xiàn),后綴”.index”和“.log”分別表示為segment索引文件、數(shù)據(jù)文件.

segment文件命名規(guī)則:partion全局的第一個segment從0開始,之后每一個segment文件名稱為上一個segment文件最后一條消息的offset值。數(shù)值最大為64位long大小。19位數(shù)字字符長度,沒有數(shù)字用0填充。

[root@VM_0_7_centos yfy-0]# ll total 4 -rw-r--r-- 1 root root 10485760 Oct 13 19:37 00000000000000000000.index -rw-r--r-- 1 root root ? ? ? ?0 Oct 13 19:37 00000000000000000000.log -rw-r--r-- 1 root root 10485756 Oct 13 19:37 00000000000000000000.timeindex -rw-r--r-- 1 root root ? ? ? ?8 Oct 13 19:37 leader-epoch-checkpoint

2.日志索引

2.1 數(shù)據(jù)文件的分段

數(shù)據(jù)文件以該段中最小的offset命名。這樣在查找指定offset的Message的時候,用二分查找就可以定位到該Message在哪個段中。

2.2 偏移量索引

數(shù)據(jù)文件分段使得可以在一個較小的數(shù)據(jù)文件中查找對應(yīng)offffset的Message了,但是這依然需要順序掃描才能找到對應(yīng)offset的Message。為了進一步提高查找的效率,Kafka為每個分段后的數(shù)據(jù)文件建立了索引文件,文件名與數(shù)據(jù)文件的名字是一樣的,只是文件擴展名為.index。

?

比如:要查找絕對offffset為7的Message:

首先是用二分查找確定它是在哪個LogSegment中,自然是在第一個Segment中。 打開這個Segment的index文件,也是用二分查找找到offffset小于或者等于指定offffset的索引條目中最大的那個offset。自然offset為6的那個索引是我們要找的,通過索引文件我們知道offffset為6的Message在數(shù)據(jù)文件中的位置為9807。

打開數(shù)據(jù)文件,從位置為9807的那個地方開始順序掃描直到找到offset為7的那條Message。

這套機制是建立在offset是有序的。索引文件被映射到內(nèi)存中,所以查找的速度還是很快的。

一句話,Kafka的Message存儲采用了分區(qū)(partition),分段(LogSegment)和稀疏索引這幾個手段來達到了高效性。

3.日志刪除

Kafka日志管理器允許定制刪除策略。目前的策略是刪除修改時間在N天之前的日志(按時間刪除),也可以使用另外一個策略:保留最后的N GB數(shù)據(jù)的策略(按大小刪除)。為了避免在刪除時阻塞讀操作,采用了copy-on-write形式的實現(xiàn),刪除操作進行時,讀取操作的二分查找功能實際是在一個靜態(tài)的快照副本上進行的,這類似于Java的CopyOnWriteArrayList。

Kafka消費日志刪除思想:Kafka把topic中一個parition大文件分成多個小文件段,通過多個小文件段,就容易定期清除或刪除已經(jīng)消費完文件,減少磁盤占用。

# 清理超過指定時間清理: log.retention.hours=16 # 超過指定大小后,刪除舊的消息: log.retention.bytes=1073741824

4.磁盤存儲優(yōu)勢

Kafka在設(shè)計的時候,采用了文件追加的方式來寫入消息,即只能在日志文件的尾部追加新的消息,并且不允許修改已經(jīng)寫入的消息,這種方式屬于典型的順序?qū)懭氪伺袛嗟牟僮?#xff0c;所以就算是Kafka使用磁盤作為存儲介質(zhì),所能實現(xiàn)的額吞吐量也非常可觀。

Kafka中大量使用頁緩存,這也是Kafka實現(xiàn)高吞吐的重要因素之一。

頁緩存可以看下面這兩篇博客:

  • 聊聊page cache與Kafka之間的事兒:https://www.jianshu.com/p/92f33aa0ff52

  • linux中的頁緩存和文件IO:https://blog.csdn.net/gdj0001/article/details/80136364

?

Kafka中讀寫message有如下特點:

寫message

  • 消息從java堆轉(zhuǎn)入page cache(即物理內(nèi)存)。

  • 由異步線程刷盤,消息從page cache刷入磁盤。

讀message

  • 消息直接從page cache轉(zhuǎn)入socket發(fā)送出去。

  • 當從page cache沒有找到相應(yīng)數(shù)據(jù)時,此時會產(chǎn)生磁盤IO,從磁盤Load消息到page cache,然后直接從socket發(fā)出去

Kafka高效文件存儲設(shè)計特點

  • Kafka把topic中一個parition大文件分成多個小文件段,通過多個小文件段,就容易定期清除或刪除已經(jīng)消費完文件,減少磁盤占用。

  • 通過索引信息可以快速定位message和確定response的最大大小。

  • 通過index元數(shù)據(jù)全部映射到memory,可以避免segment file的IO磁盤操作。

  • 通過索引文件稀疏存儲,可以大幅降低index文件元數(shù)據(jù)占用空間大小。

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Kafka数据存储详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品国产一区二区 | 国产视频久久久久 | 蜜桃av在线免费观看 | 91色精品| 看特级黄色片 | 亚洲av无码一区二区乱子伦as | 狠狠狠狠干 | 精品一区二区三区无码按摩 | 亚洲丝袜视频 | 草逼网站 | 国产传媒一级片 | 国产99久一区二区三区a片 | 在线播放视频高清在线观看 | 亚洲国产精品成人无久久精品 | 日韩三级一区二区三区 | 国内精品毛片 | 色片在线免费观看 | 8x8x成人| 黄色片子免费看 | 久色综| 精品人体无码一区二区三区 | 亚洲天堂首页 | 久久y| 欧美一区二区久久久 | 影音先锋中文字幕第一页 | 亚洲视频一二三 | 一级全黄少妇性色生活片 | 精品xxxx| 午夜视频免费在线 | 免费h片网站 | caoporn国产| 色啪网站 | 欧美久久久 | 久久av影视 | 精品无码久久久久国产 | 8x8x国产精品一区二区 | 国产av剧情一区二区三区 | 国产黄大片在线观看画质优化 | 亚洲欧美一区二区三区不卡 | 日本精品久久久久 | 超碰在线99| 国产盗摄一区二区三区在线 | 精品久久在线观看 | 国产成人综合网 | 在线观看黄色小视频 | 98在线视频| 91精品国产免费 | 日韩亚洲在线 | 一色桃子juy758在线播放 | 亚洲精品999 | 欧美一区二区成人 | 欧洲精品一区二区三区久久 | 国产黄色片在线观看 | 日韩av线 | 日本中文字幕在线播放 | 国产欧美精品一区二区三区 | 免费国产 | 综合色伊人 | 青青视频免费看 | 91大神福利视频 | 国产一区二区在线视频 | 9l视频自拍蝌蚪9l视频成人 | 日韩八区 | 日韩污视频在线观看 | 纯爱无遮挡h肉动漫在线播放 | 亚洲怡春院 | 日本在线色 | www.色播.com | 91视频www | 亚洲天堂网址 | 在线观看日本一区 | 久久久精品视频一区 | 日韩中文字幕视频在线观看 | 久久网av | 偷偷操网站| 朝鲜美女黑毛bbw | 黑白配av| 一本色道久久综合亚洲精品图片 | 中文字幕免费观看 | 亚洲黄色片 | www.国产毛片 | 大陆农村乡下av | 亚洲啪 | 成人18视频| 僵尸艳谈| 亚洲一区二区三区久久 | 欧美一区亚洲二区 | 欧美三级免费观看 | www,久久久| 一级片一区二区三区 | 欧美一级做a爰片久久高潮 久热国产精品视频 | 最好看十大无码av | 欧美一级做a爰片免费视频 成人激情在线观看 | 久草综合在线观看 | av老司机在线播放 | 乱人伦xxxx国语对白 | 亚洲人成777 | 亚洲在线视频免费观看 | 天天激情综合 |