漫游Kafka设计篇之数据持久化
转载注明出处:http://blog.csdn.net/honglei915/article/details/37564595 不要畏惧文件系统! Kafka大量依赖文件系统去存储和缓存消息。对于硬盘有个传统的观念是硬盘总是非常慢,这使非常多人怀疑基于文件系统的架构是否能提供优异的性能。实际上硬盘的快慢全然取决于使用它的方式。设计良好的硬盘架构能够和内存一样快。 在6块7200转的SATA RAID-5磁盘阵列的线性写速度差点儿相同是600MB/s,可是随即写的速度却是100k/s,差了差点儿相同6000倍。现代的操作系统都对次做了大量的优化,使用了 read-ahead 和 write-behind的技巧,读取的时候成块的预读取数据。写的时候将各种微小琐碎的逻辑写入组织合并成一次较大的物理写入。对此的深入讨论能够查看这里,它们发现线性的訪问磁盘,非常多时候比随机的内存訪问快得多。 为了提高性能。现代操作系统往往使用内存作为磁盘的缓存。现代操作系统乐于把全部空暇内存用作磁盘缓存。尽管这可能在缓存回收和又一次分配时牺牲一些性能。全部的磁盘读写操作都会经过这个缓存,这不太可能被绕开除非直接...

