Kafka消息压缩怎么配置
Kafka消息压缩配置主要涉及生产者和Broker端,具体如下:
- Producer端配置:在创建Producer时,通过设置
compression.type
属性来选择压缩算法,可选值为none
、gzip
、snappy
、lz4
、zstd
,默认为none
。对于Gzip压缩,还可通过compression.level
属性设置压缩级别(1-9),数值越大压缩比越高但CPU消耗也越大。示例代码如下:
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "gzip");
props.put(ProducerConfig.COMPRESSION_LEVEL_CONFIG, "9");
KafkaProducer producer = new KafkaProducer<>(props);
- Broker端配置:可在
server.properties
文件中设置compression.type
属性,其默认值为producer
,表示继承Producer端的压缩方式。也可通过Kafka命令行工具在Topic级别进行配置,使用kafka-topics.sh
或kafka-configs.sh
命令,如kafka-topics.sh --create --topic my-topic --config compression.type=snappy
。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!