簡體   English   中英

使用 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具有有效值

生產者生成的所有數據的壓縮類型。 默認值為無(即不壓縮)。 有效值為 none、gzip、snappy、lz4 或 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 或使用以下屬性啟動生產者

--compression-codec 'gzip'、'snappy'、'lz4' 或 'zstd'。
如果指定沒有值,那么它
默認為“gzip”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM