使用 spring kafka 时如何在生产者中压缩数据
how to compress data in producers when using spring kafka
我目前正在使用 spring-kafka 像这样发送数据:
val json = objectWriter.writeValueAsString(obj)
kafkaTemplate.send(topic, json)
如何告诉 KafkaTemplate 在发送前使用 snappy 压缩 json?
在 apache kafka 中,生产者配置 compression.type
具有有效值
The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values are none, gzip, snappy, lz4, or zstd
因此您可以在生产者配置中进行设置
ProducerConfig.COMPRESSION_TYPE_CONFIG "snappy"
或使用属性
spring.kafka.producer.compression-type= # Compression type for all data generated by the producer.
1.) 代理级压缩。
您可以在命令末尾使用 --config compression.type=gzip 启动您的 zookeeper 服务器,或者您可以在 zookeeper 配置文件中添加 属性。
2.) 生产者级别的压缩
在你的生产者的config/producer.properties中设置属性 compression.type = gzip或者用下面的属性
启动你的生产者
--压缩编解码器 'gzip'、'snappy'、'lz4' 或 'zstd'.
如果没有指定值,那么它
默认为 'gzip'
我目前正在使用 spring-kafka 像这样发送数据:
val json = objectWriter.writeValueAsString(obj)
kafkaTemplate.send(topic, json)
如何告诉 KafkaTemplate 在发送前使用 snappy 压缩 json?
在 apache kafka 中,生产者配置 compression.type
具有有效值
The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values are none, gzip, snappy, lz4, or zstd
因此您可以在生产者配置中进行设置
ProducerConfig.COMPRESSION_TYPE_CONFIG "snappy"
或使用属性
spring.kafka.producer.compression-type= # Compression type for all data generated by the producer.
1.) 代理级压缩。
您可以在命令末尾使用 --config compression.type=gzip 启动您的 zookeeper 服务器,或者您可以在 zookeeper 配置文件中添加 属性。
2.) 生产者级别的压缩
在你的生产者的config/producer.properties中设置属性 compression.type = gzip或者用下面的属性
启动你的生产者--压缩编解码器 'gzip'、'snappy'、'lz4' 或 'zstd'.
如果没有指定值,那么它
默认为 'gzip'