Kafka在制作人和主题上设置了压缩类型

sha*_*nts 12 apache-kafka kafka-producer-api

以下在kafka中启用压缩的方法之间有什么区别:

方法1:使用命令创建主题:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --config compression.type=gzip --topic test
Run Code Online (Sandbox Code Playgroud)

方法2:在Kafka Producer Client API中设置属性compression.type = gzip.

使用方法1时,我获得了更好的压缩和更高的吞吐量.

如果我使用方法1,是否意味着压缩发生在代理端,而在方法2中,消息在生产者端压缩然后发送到代理?

ame*_*tic 13

如果我使用方法1,是否意味着压缩发生在经纪人端?

这取决于.如果生产者没有设置compression.type或设置不同的生成器,则消息将在代理端压缩.但是,如果生产者也设置compression.typegzip,则无需在代理端再次压缩.实际上,必须满足其他严格条件才能确保不需要压缩,尽管它有点超出了范围.

在方法2中,消息在Producer端压缩,然后发送给代理?

是的,如果生产者设置了compression.type配置,记录将在被发送到代理之前被压缩.

  • "还有其他必须满足的严格条件,以确保无需压缩"你能详细说明吗?我认为它与问题相关,如果经纪人最终重新压缩,那么在生产者处浪费CPU来做这件事.我在哪里可以找到有关这种情况的信息? (8认同)
  • @SimonLepkin 有关更多信息,请参阅 /sf/answers/4193177831/。这些信息是在阅读源代码和有关如何调整 Kafka 设置的白皮书后获得的。 (3认同)