Kafka数据压缩配置主要涉及Broker、Producer和Consumer端,具体如下:
Broker端配置
编辑server.properties,设置compression.type参数选择压缩算法(支持gzip、snappy、lz4、zstd),例如:
compression.type=gzip # 全局默认压缩算法(可被子主题覆盖)
compression.gzip.level=9),需根据算法特性配置。Producer端配置
编辑producer.properties,通过compression.type指定发送消息的压缩算法,例如:
compression.type=snappy # 覆盖Broker全局配置,优先使用指定算法
Consumer端配置
通常无需额外配置,Consumer会自动解压缩数据。若需验证,可通过kafka-console-consumer工具指定--property print.offsets=true查看消息详情。
验证与调优
kafkacat工具查看消息是否压缩:kafkacat -b localhost:9092 -t topic_name -C # -C表示解压缩输出
compression-rate)调整算法或级别。注意:
gzip压缩比高但速度慢,lz4速度快但压缩比低,zstd可平衡两者。