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

溫馨提示×

溫馨提示×

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

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

基于磁盤的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

和林格尔县| 文登市| 老河口市| 方正县| 隆化县| 淅川县| 阿克| 通化县| 定陶县| 台北县| 雷山县| 长兴县| 应用必备| 五峰| 万宁市| 馆陶县| 旬阳县| 九江市| 思茅市| 巴彦淖尔市| 乡宁县| 阿坝县| 香港| 台州市| 凭祥市| 太原市| 郑州市| 儋州市| 阿坝县| 大新县| 白玉县| 申扎县| 炉霍县| 桃源县| 小金县| 北碚区| 大邑县| 黄冈市| 鹤岗市| 师宗县| 河南省|