kafka(九):Kafka为什么快

 1. 消息集(message set)

   生产者在将消息发送给Kafka的时候,可以将多条消息以前发送,减低IO的次数

2. 二进制传输

   Kafka的消息传递过程中,会将数据转换为字节数组来进行传递

3. 顺序读写磁盘

   根据offset递增的顺序读取磁盘,而且每次读取数据是多条数据一起读取的

4. "零"拷贝(没有任何数据处理)

   kafka在传输数据的时候,log文件中的数据直接通过系统内存(内核)直接网络传输,不经过应用(kafka)的内存的数据的交换

5. 端到端的数据压缩

   (1)定义:kafka支持直接传输压缩的数据(压缩是kafka的Producer Api负责)
            kafka接收到producer传输过来的压缩的数据,不会进行解压操作,直接存储;
            然后当consumer获取数据的时候,直接将压缩好的数据传输过去,consumer接收到压缩数据后再进行解压操作
   (2)作用:这种压缩减少网络压力,但是增大了生产者(压缩)和消费者(解压)的压力
                Kafka支持默认支持三种压缩方式:lz4(一般不用)、gzip、snappy(最常用)
                配置参数,需要在Producer中进行配置:参数是:compression.codec,参数值默认为none,表示不进行压缩

猜你喜欢

转载自blog.csdn.net/u010886217/article/details/83153225