中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

基于磁盤的Kafka為什么這么快

發布時間:2021-12-15 10:19:43 來源:億速云 閱讀:134 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關基于磁盤的Kafka為什么這么快,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Kafka是大數據領域無處不在的消息中間件,目前廣泛使用在企業內部的實時數據管道,并幫助企業構建自己的流計算應用程序。Kafka雖然是基于磁盤做的數據存儲,但卻具有高性能、高吞吐、低延時的特點,其吞吐量動輒幾萬、幾十上百萬,這其中的原由值得我們一探究竟。
 

零拷貝

這里主要講的是Kafka利用linux操作系統的 "零拷貝(zero-copy)" 機制在消費端做的優化。首先來了解下數據從文件發送到socket網絡連接中的常規傳輸路徑:

  • 操作系統從磁盤讀取數據到內核空間(kernel space)的Page Cache

  • 應用程序讀取Page Cache的數據到用戶空間(user space)的緩沖區

  • 應用程序將用戶空間緩沖區的數據寫回內核空間到socket緩沖區(socket buffer)

  • 操作系統將數據從socket緩沖區復制到網絡發送的NIC緩沖區

這個過程包含4次copy操作和2次系統上下文切換,性能其實非常低效。linux操作系統 "零拷貝" 機制使用了sendfile方法,允許操作系統將數據從Page Cache 直接發送到網絡,只需要最后一步的copy操作將數據復制到 NIC 緩沖區,這樣避免重新復制數據。示意圖如下:

基于磁盤的Kafka為什么這么快

通過這種 "零拷貝" 的機制,Page Cache 結合 sendfile 方法,Kafka消費端的性能也大幅提升。這也是為什么有時候消費端在不斷消費數據時,我們并沒有看到磁盤io比較高,此刻正是操作系統緩存在提供數據。

關于基于磁盤的Kafka為什么這么快就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

金山区| 嘉祥县| 寿阳县| 丁青县| 永善县| 习水县| 洪泽县| 凤城市| 九台市| 威信县| 普兰店市| 临夏市| 通许县| 台南市| 井研县| 鄯善县| 辽阳县| 延吉市| 泾川县| 女性| 乌兰察布市| 临江市| 邵阳市| 龙山县| 齐河县| 福州市| 永济市| 英吉沙县| 迭部县| 德江县| 余干县| 丰台区| 广宗县| 东乡族自治县| 麻阳| 洞口县| 辉南县| 大荔县| 青州市| 龙陵县| 平罗县|