读写2方面:

写: tv_發財

    1. 顺序存储:
           -  顺序写入,去掉了比较耗费时间的磁盘寻址的过程,这个磁盘的顺序读写速度甚至超过内存的随机读写
           -  顺序写入,jvm的GC效率低,内存占用大, 使用磁盘可以避免这个问题,相比(在内存中操作)
           -  顺序写入,系统冷启动后,磁盘缓存依然可用 (linux对于磁盘的读写也有优化,比如磁盘缓存)
            不删除数据:后的2种策略:
           -   顺序写入一是基于时间。
           -   顺序写入二是基于partition文件大小。

    2. 分页存储:
           - 数据写入不实时,利用现代操作系统的分页存储来利用内存提高IO效率.
            Memory Mapped Files(后面简称mmap)也被翻译成 内存映射文件 ,在64位操作系统中一般可以表示
            20G的数据文件,它的工作原理是直接利用操作系统的Page来实现文件到物理内存的直接映射。` 完成映射之后你对物理内存的操作会被同步到硬盘上(操作系统在适当的时候)

读: tv_呆

    1. 零拷贝
            Kafka使用零拷贝(Zero-Copy)技术来提供它的性能,所谓的零拷贝是指将数据直接从磁盘文件复制到网卡设备中,而                                
            不需要经由应用程序之手,减少了内核和用户模式之间的上下文切换,零拷贝技术通过DMA技术实现。
   2.  消息压缩
            因为网络IO更可能成为瓶颈,所以利用少量的cpu资源进行压缩是有必要的
           2.1、如果每个消息都压缩,但是压缩率相对很低,所以Kafka使用了批量压缩,即将多个消息一起压缩
                而不是单个消息压缩
            2.2、Kafka允许使用递归的消息集合,批量的消息可以通过压缩的形式传输并且在日志中也可以保持压
                    缩格式,直到被消费者解压缩
            2.3、Kafka支持多种压缩协议,包括Gzip和Snappy压缩协议