欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

kafka作為流式處理的上一層,為什么吞吐量那么大?

Kafka為什么速度快、吞吐量大

Kafka是大數(shù)據(jù)領(lǐng)域無處不在的消息中間件,目前廣泛使用在企業(yè)內(nèi)部的實(shí)時(shí)數(shù)據(jù)管道,并幫助企業(yè)構(gòu)建自己的流計(jì)算應(yīng)用程序。Kafka雖然是基于磁盤做的數(shù)據(jù)存儲(chǔ),但卻具有高性能、高吞吐、低延時(shí)的特點(diǎn),其吞吐量動(dòng)輒幾萬、幾十上百萬。但是很多使用過Kafka的人,經(jīng)常會(huì)被問到這樣一個(gè)問題,Kafka為什么速度快,吞吐量大;大部分被問的人都是一下子就懵了,或者是只知道一些簡單的點(diǎn),本文就簡單的介紹一下Kafka為什么速度快,吞吐量大。

10余年的鼓樓網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整鼓樓建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“鼓樓網(wǎng)站設(shè)計(jì)”,“鼓樓網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

一、順序讀寫

眾所周知Kafka是將消息記錄持久化到本地磁盤中的,一般人會(huì)認(rèn)為磁盤讀寫性能差,可能會(huì)對Kafka性能如何保證提出質(zhì)疑。實(shí)際上不管是內(nèi)存還是磁盤,快或慢關(guān)鍵在于尋址的方式,磁盤分為順序讀寫與隨機(jī)讀寫,內(nèi)存也一樣分為順序讀寫與隨機(jī)讀寫?;诖疟P的隨機(jī)讀寫確實(shí)很慢,但磁盤的順序讀寫性能卻很高,一般而言要高出磁盤隨機(jī)讀寫三個(gè)數(shù)量級(jí),一些情況下磁盤順序讀寫性能甚至要高于內(nèi)存隨機(jī)讀寫,這里給出著名學(xué)術(shù)期刊 ACM Queue 上的一張性能對比圖:
kafka作為流式處理的上一層,為什么吞吐量那么大?

磁盤的順序讀寫是磁盤使用模式中最有規(guī)律的,并且操作系統(tǒng)也對這種模式做了大量優(yōu)化,Kafka就是使用了磁盤順序讀寫來提升的性能。Kafka的message是不斷追加到本地磁盤文件末尾的,而不是隨機(jī)的寫入,這使得Kafka寫入吞吐量得到了顯著提升 。

二、Page Cache

為了優(yōu)化讀寫性能,Kafka利用了操作系統(tǒng)本身的Page Cache,就是利用操作系統(tǒng)自身的內(nèi)存而不是JVM空間內(nèi)存。這樣做的好處有:

  • 避免Object消耗:如果是使用 Java 堆,Java對象的內(nèi)存消耗比較大,通常是所存儲(chǔ)數(shù)據(jù)的兩倍甚至更多。
  • 避免GC問題:隨著JVM中數(shù)據(jù)不斷增多,垃圾回收將會(huì)變得復(fù)雜與緩慢,使用系統(tǒng)緩存就不會(huì)存在GC問題

相比于使用JVM或in-memory cache等數(shù)據(jù)結(jié)構(gòu),利用操作系統(tǒng)的Page Cache更加簡單可靠。首先,操作系統(tǒng)層面的緩存利用率會(huì)更高,因?yàn)榇鎯?chǔ)的都是緊湊的字節(jié)結(jié)構(gòu)而不是獨(dú)立的對象。其次,操作系統(tǒng)本身也對于Page Cache做了大量優(yōu)化,提供了 write-behind、read-ahead以及flush等多種機(jī)制。再者,即使服務(wù)進(jìn)程重啟,系統(tǒng)緩存依然不會(huì)消失,避免了in-process cache重建緩存的過程。

通過操作系統(tǒng)的Page Cache,Kafka的讀寫操作基本上是基于內(nèi)存的,讀寫速度得到了極大的提升。

三、零拷貝

這里主要講的是Kafka利用 linux 操作系統(tǒng)的 “零拷貝(zero-copy)” 機(jī)制在消費(fèi)端做的優(yōu)化。首先來了解下數(shù)據(jù)從文件發(fā)送到socket網(wǎng)絡(luò)連接中的常規(guī)傳輸路徑:

  • 操作系統(tǒng)從磁盤讀取數(shù)據(jù)到內(nèi)核空間( kernel space )的Page Cache
  • 應(yīng)用程序讀取Page Cache的數(shù)據(jù)到用戶空間(user space)的緩沖區(qū)
  • 應(yīng)用程序?qū)⒂脩艨臻g緩沖區(qū)的數(shù)據(jù)寫回內(nèi)核空間到socket緩沖區(qū)( socket buffer )
  • 操作系統(tǒng)將數(shù)據(jù)從socket緩沖區(qū)復(fù)制到網(wǎng)絡(luò)發(fā)送的NIC緩沖區(qū)

這個(gè)過程包含4次copy操作和2次系統(tǒng)上下文切換,性能其實(shí)非常低效。linux操作系統(tǒng) “零拷貝” 機(jī)制使用了sendfile方法, 允許操作系統(tǒng)將數(shù)據(jù)從Page Cache 直接發(fā)送到網(wǎng)絡(luò),只需要最后一步的copy操作將數(shù)據(jù)復(fù)制到 NIC 緩沖區(qū), 這樣避免重新復(fù)制數(shù)據(jù) 。示意圖如下:

kafka作為流式處理的上一層,為什么吞吐量那么大?

通過這種 “零拷貝” 的機(jī)制,Page Cache 結(jié)合 sendfile 方法,Kafka消費(fèi)端的性能也大幅提升。這也是為什么有時(shí)候消費(fèi)端在不斷消費(fèi)數(shù)據(jù)時(shí),我們并沒有看到磁盤io比較高,此刻正是操作系統(tǒng)緩存在提供數(shù)據(jù)。

四、分區(qū)分段

Kafka的message是按topic分類存儲(chǔ)的,topic中的數(shù)據(jù)又是按照一個(gè)一個(gè)的partition即分區(qū)存儲(chǔ)到不同broker節(jié)點(diǎn)。每個(gè)partition對應(yīng)了操作系統(tǒng)上的一個(gè)文件夾,partition實(shí)際上又是按照segment分段存儲(chǔ)的。這也非常符合分布式系統(tǒng)分區(qū)分桶的設(shè)計(jì)思想。

通過這種分區(qū)分段的設(shè)計(jì),Kafka的message消息實(shí)際上是分布式存儲(chǔ)在一個(gè)一個(gè)小的segment中的,每次文件操作也是直接操作的segment。為了進(jìn)一步的查詢優(yōu)化,Kafka又默認(rèn)為分段后的數(shù)據(jù)文件建立了索引文件,就是文件系統(tǒng)上的.index文件。這種分區(qū)分段+索引的設(shè)計(jì),不僅提升了數(shù)據(jù)讀取的效率,同時(shí)也提高了數(shù)據(jù)操作的并行度。

總結(jié)

Kafka采用順序讀寫、Page Cache、零拷貝以及分區(qū)分段等這些設(shè)計(jì),再加上在索引方面做的優(yōu)化,另外Kafka數(shù)據(jù)讀寫也是批量的而不是單條的,使得Kafka具有了高性能、高吞吐、低延時(shí)的特點(diǎn)。這樣,Kafka提供大容量的磁盤存儲(chǔ)也變成了一種優(yōu)點(diǎn)。

網(wǎng)站標(biāo)題:kafka作為流式處理的上一層,為什么吞吐量那么大?
文章轉(zhuǎn)載:http://aaarwkj.com/article42/phophc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、App設(shè)計(jì)外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
小仙女精品经典三级永久| 欧美精品一区二区网址| 亚洲少妇午夜福利视频| 亚洲av男人电影天堂| 人妻系列少妇人妻偷人| av中文字幕熟妇人妻少妇| 91性感视频在线播放| 内射极品美女在线观看| 后入式动漫在线观看| 亚洲精品中国一区二区久久| 亚洲欧美日韩国产一区二区三区| 男女午夜激情啪啪视频| 一区二区三区在线观看美女视频| 亚洲精品一区二区成人影院| 激情影院在线观看福利| 久久综合伊人欧美精品| 中文字幕日韩欧美一区二区| 亚洲国产日韩精品av| 午夜草草视频在线观看| 日本精品在线不卡视频| 国产成人原创免费观看| 97视频免费观看在线| 国产精品久久久久久爽| 97碰碰视频在线观看| 午夜激情视频免费国产| 久久精品性少妇一区二区三区| 伊人婷婷综合激情网| 国产伦一区二区三区三州| 午夜日本大胆裸体艺术| 五月婷婷色综合激情五月| 午夜视频在线观看黄片| 精品国产一区二区三区精品日韩| 特黄特色的日本大片| 伊人久久大香线蕉av网站| 99久久中文字幕伊人| 国产网爆热门精品一区二区| 白浆视频在线免费观看| 丰满肥臀熟女高清区二区| 亚洲国产日本一区自拍| 亚洲av日韩高清在线观看| 粉嫩国产av一区二区三区|