91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kafka文件的存儲機制原理

發布時間:2021-08-13 20:55:17 來源:億速云 閱讀:163 作者:chen 欄目:云計算

這篇文章主要介紹“kafka文件的存儲機制原理”,在日常操作中,相信很多人在kafka文件的存儲機制原理問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”kafka文件的存儲機制原理”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

每一個topic,分為多個partition,每一個partition在文件系統當中是一個文件夾。

kafka文件的存儲機制原理

而每一個partition當中,又分成了多個segment,每個segment,包括了2個文件,.index文件和.log文件,分別是消息的索引信息和消息內容。而文件的名字形如下面的格式

00000000000000000000.log

00000000000000000000.index

0000000000000999.log

0000000000000999.index

文件名的就是消息在本分區當中的序號,以上面的文件為例,第一個segment當中存儲了0-999的消息,而第二個segment從1000開始。

需要注意的是segment的劃分規則,目前據我的研究,是綜合了2方面的因素,一個是設定的segment的大小,滿了自然會再來一個segment;第二個因素是時間的因素,比如某個topic長時間沒有消息寫入,那么在有新消息進來的時候,很可能會重新建一個segment,這樣做的目的是為了方便在消息失效的時候,針對整個segment進行刪除。

index文件當中,包含了2部分內容,分別是消息的在本segment當中的編號和物理offset。這里需要注意的是,在index文件當中,并不是存儲了每一條消息的的索引信息,而是采用了 稀疏索引的策略,也就是隔幾個存一個索引。

在查找一條消息的時候,首先是根據segment的名字和輸入的消息編號,查找所在的segment,之后在根據index文件找到消息的具體位置。


寫過程:

消息從java堆轉入page cache(即物理內存)

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

讀過程:

消息直接從page cache轉入socket發送出去

當從page cache沒有找到相應數據時,此時會產生磁盤IO,從磁 盤Load消息到page cache,然后直接從socket發出去

存儲設計的優點:

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

通過索引信息可以快速定位message

通過index元數據全部映射到memory,可以避免segment file的IO磁盤操作

通過索引文件稀疏存儲,可以大幅降低index文件元數據占用空間大小

到此,關于“kafka文件的存儲機制原理”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赤壁市| 元谋县| 玛沁县| 林口县| 长汀县| 永州市| 化德县| 杂多县| 远安县| 黑龙江省| 德惠市| 青田县| 乌什县| 韶关市| 土默特右旗| 教育| 金乡县| 伊宁市| 顺昌县| 德钦县| 隆德县| 西乌珠穆沁旗| 甘泉县| 通道| 察雅县| 太白县| 临夏县| 德昌县| 建始县| 漳浦县| 河北省| 昌江| 津市市| 屏南县| 体育| 磴口县| 银川市| 磐安县| 略阳县| 凤台县| 红原县|