如果在代理而不是生产者中定义了Kafka生产者设置,是否会采用?

时间:2020-03-16 18:14:32

标签: apache-kafka kafka-producer-api

我正在尝试设置compression.type,目前正在我的代理配置中进行设置。如果我没有在生产者中定义该属性,它将生效吗?在生产者部署中,我没有指定任何compression.type值,甚至没有指定属性。

2 个答案:

答案 0 :(得分:1)

这两个属性有不同的用途,请参见Kafka reference doc

在生产者端进行定义时,compression.type编解码器用于压缩每个批次以进行传输,从而提高通道吞吐量。

在主题(经纪人)级别,compression.type定义用于在Kafka日志中存储数据的编解码器,即最小化磁盘使用。特殊值producer允许Kafka保留生产者设置的原始编解码器。

答案 1 :(得分:0)

这取决于您要压缩的内容。您可以压缩发送的数据,也可以压缩存储在主题中的数据。因此,请在代理方进行定义以配置如何保存数据,或者在生产方进行定义以配置如何发送数据

经纪人方面:

指定给定主题的最终压缩类型。此配置接受标准压缩编解码器(“ gzip”,“ snappy”,“ lz4”,“ zstd”)

参阅confluent documentation

生产方:

生产者生成的所有数据的压缩类型。默认值为无(即不压缩)。有效值为none,gzip,snappy,lz4或zstd。

参阅confluent documentation