为什么kafka使用磁盘而不是内存
版權聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。?? ?https://blog.csdn.net/wl6965307/article/details/51392905
Kafka最核心的思想是使用磁盤,而不是使用內(nèi)存,可能所有人都會認為,內(nèi)存的速度一定比磁盤快,我也不例外。在看了Kafka的設計思想,查閱了相應資料再加上自己的測試后,發(fā)現(xiàn)磁盤的順序讀寫速度和內(nèi)存持平。
而且Linux對于磁盤的讀寫優(yōu)化也比較多,包括read-ahead和write-behind,磁盤緩存等。如果在內(nèi)存做這些操作的時候,一個是JAVA對象的內(nèi)存開銷很大,另一個是隨著堆內(nèi)存數(shù)據(jù)的增多,JAVA的GC時間會變得很長,使用磁盤操作有以下幾個好處:
磁盤緩存由Linux系統(tǒng)維護,減少了程序員的不少工作。
磁盤順序讀寫速度超過內(nèi)存隨機讀寫。
JVM的GC效率低,內(nèi)存占用大。使用磁盤可以避免這一問題。
系統(tǒng)冷啟動后,磁盤緩存依然可用。
---------------------?
作者:end?
來源:CSDN?
原文:https://blog.csdn.net/endlu/article/details/51392905?
版權聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
總結(jié)
以上是生活随笔為你收集整理的为什么kafka使用磁盘而不是内存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oppor9tm高清通话在哪开通(opp
- 下一篇: jmeter所有版本下载地址分享