1. 程式人生 > 其它 >大叔經驗分享(137)kafka開啟壓縮

大叔經驗分享(137)kafka開啟壓縮

kafka開啟壓縮後,可以極大的優化磁碟佔用和網路傳輸開銷,開啟壓縮的引數為compression.type

Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer.

這個引數在broker和producer都可以設定,建議:

  • 在producer設定,然後broker設定為producer;
  • 在producer不設定,統一在broker設定;

ps: 如果兩個地方都設定,可能發生兩個壓縮演算法不一致的情況,這樣broker在收到訊息後需要先解壓,再壓縮後落盤,增加cpu開銷。

開啟壓縮後可以通過如下命令確認:

bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /data/kafka/test-0/00000000000000000000.log --print-data-log | grep compresscodec

各種壓縮演算法的對比如下: