1. 程式人生 > >Kafka零複製技術

Kafka零複製技術

Kafka把訊息和偏移量儲存在檔案裡。儲存在磁碟上的資料格式與從生產者傳送過來或者傳送給消費者的訊息格式是一樣的。因為使用了相同的訊息格式進行磁碟儲存和網路傳輸,Kafka可以使用零複製技術將訊息直接傳送給消費者,避免了對生產者已經壓縮過的訊息進行解壓和再壓縮。

訊息體包括鍵、值、偏移量、訊息大小、校驗和CRC、訊息版本號、壓縮演算法(Snappy、GZip或LZ4)和時間戳。時間戳是可配置的,可以是生產者傳送訊息的時間,也可以是訊息到達broker的時間。

如果生產者傳送的是壓縮過的訊息,那麼同一批次的訊息會被壓縮在一起,當做包裝訊息進行傳送。消費者獲取到訊息後,進行解壓,得到整個批次的訊息。