為什么kafka使用磁盤而不是內存


Kafka最核心的思想是使用磁盤,而不是使用內存,可能所有人都會認為,內存的速度一定比磁盤快,我也不例外。在看了Kafka的設計思想,查閱了相應資料再加上自己的測試后,發現磁盤的順序讀寫速度和內存持平。

而且Linux對於磁盤的讀寫優化也比較多,包括read-ahead和write-behind,磁盤緩存等。如果在內存做這些操作的時候,一個是Java對象的內存開銷很大,另一個是隨着堆內存數據的增多,JAVA的GC時間會變得很長,使用磁盤操作有以下幾個好處:

  • 磁盤緩存由Linux系統維護,減少了程序員的不少工作。
  • 磁盤順序讀寫速度超過內存隨機讀寫。
  • JVM的GC效率低,內存占用大。使用磁盤可以避免這一問題。
  • 系統冷啟動后,磁盤緩存依然可用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM