1. 程式人生 > >Kafka學習之七 為什麼說Kafka使用磁碟比記憶體快

Kafka學習之七 為什麼說Kafka使用磁碟比記憶體快

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

       而且Linux對於磁碟的讀寫優化也比較多,包括read-ahead和write-behind,磁碟快取等。如果在記憶體做這些操作的時候,一個是JAVA物件的記憶體開銷很大,另一個是隨著堆記憶體資料的增多,JAVA的GC時間會變得很長,使用磁碟操作有以下幾個好處:

磁碟快取由Linux系統維護,減少了程式設計師的不少工作。

磁碟順序讀寫速度超過記憶體隨機讀寫。

JVM的GC效率低,記憶體佔用大。使用磁碟可以避免這一問題。

系統冷啟動後,磁碟快取依然可用。

學習參考