在Kafka中实现压缩的以下方法有什么区别:
方法1:使用以下命令创建主题:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --config compression.type=gzip --topic test
方法2:在kafka producer客户端api中设置compression.type=gzip属性。
当使用方法1时,我得到了更好的压缩和更高的吞吐量。
如果我使用方法1,是否意味着压缩发生在代理端,而在方法2中,消息在生产者端压缩,然后发送到代理?
1条答案
按热度按时间s71maibg1#
如果我使用方法1,是否意味着压缩发生在代理端?
视情况而定。如果制作人没有设定
compression.type
或者设置另一个,则消息将在代理端压缩。不过,如果生产者也设置compression.type
至gzip
,不需要在代理端再次压缩。实际上,还有其他一些严格的条件必须满足,以确保不需要压缩,尽管这有点超出了范围。在方法2中,消息在生产者端被压缩,然后被发送到broker?
是的,如果生产者设置了compression.type config,记录在发送到代理之前将被压缩。