kafka:为什么说Kafka使用磁盘比内存快

Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。

在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。      

 而且Linux对于磁盘的读写优化也比较多,包括read-ahead和write-behind,磁盘缓存等。

如果在内存做这些操作的时候,一个是JAVA对象的内存开销很大,另一个是随着堆内存数据的增多,JAVA的GC时间会变得很长,

使用磁盘操作有以下几个好处:

磁盘缓存由Linux系统维护,减少了程序员的不少工作。

磁盘顺序读写速度超过内存随机读写。

JVM的GC效率低,内存占用大。

使用磁盘可以避免这一问题。

系统冷启动后,磁盘缓存依然可用。

你可能感兴趣的:(kafka)