以下在 kafka 中启用压缩的方法有什么区别:
方法 1:使用以下命令创建主题:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --config compression.type=gzip --topic test
方法 2:在 Kafka Producer Client API 中设置 compression .type = gzip 属性。
使用方法 1 时,我获得了更好的压缩和更高的吞吐量。
如果我使用方法 1,这是否意味着压缩发生在代理端,而在方法 2 中,消息在生产者端压缩,然后发送到代理?
如果我使用方法 1,是否意味着压缩发生在代理端?
这要看情况。如果生产者没有设置compression.type
或设置不同的,则消息将在代理端被压缩。但是,如果生产者也compression.type
设置为gzip
,则无需在代理端再次压缩。实际上,还必须满足其他严格的条件以确保不需要压缩,尽管它有点超出范围。
在方法 2 中,消息在生产者端被压缩,然后发送到代理?
是的,如果生产者设置了其 compression.type 配置,则记录将在发送到代理之前被压缩。