Kafka零复制技术

Kafka把消息和偏移量保存在文件里。保存在磁盘上的数据格式与从生产者发送过来或者发送给消费者的消息格式是一样的。因为使用了相同的消息格式进行磁盘存储和网络传输,Kafka可以使用零复制技术将消息直接发送给消费者,避免了对生产者已经压缩过的消息进行解压和再压缩。

消息体包括键、值、偏移量、消息大小、校验和CRC、消息版本号、压缩算法(Snappy、GZip或LZ4)和时间戳。时间戳是可配置的,可以是生产者发送消息的时间,也可以是消息到达broker的时间。

如果生产者发送的是压缩过的消息,那么同一批次的消息会被压缩在一起,当做包装消息进行发送。消费者获取到消息后,进行解压,得到整个批次的消息。

猜你喜欢

转载自blog.csdn.net/Wengzhengcun/article/details/83900513