我已从客户端的producer api启用kafka消息压缩,如:
configproperties.put(producerconfig.compression\u type\u config,“gzip”)
它工作得很好,但是如果我们想将上面的压缩限制在一些列出的主题中,我们注意到一种方法:
configproperties.put(“compressed.topics”,“topica,topicb”)
通过此链接:https://cwiki.apache.org/confluence/display/kafka/compression . 但它不起作用,这意味着在我的测试用例中,我启用了压缩,并且没有在compressed.topics的args中列出我的主题。但还是施加了压力。请帮忙。
1条答案
按热度按时间tjjdgumg1#
压缩在kafka中由几个参数处理:
关于经纪人,
compression.type
为整个集群配置默认值。它允许gzip
,snappy
,lz4
,uncompressed
或者producer
. 前三种是不言而喻的,它们只是不同的压缩方法(snappy/lz4是推荐的压缩方法),uncompressed
是不言自明的,默认producer
,基本上就是使用制作者决定使用的任何压缩(或不使用)。在本例中,kafka只将消息看作字节数组,而不尝试对其进行解码。在代理的主题级别,您还可以指定与上面相同的配置,
gzip
,snappy
,lz4
,uncompresssed
或者producer
. 它们是完全相同的,但是专门为您设置它们的主题充当覆盖。在生产者方面,在代码中,您还可以设置
compression.type
,可能的值为gzip
,snappy
,lz4
以及none
,其中最后一个是默认值。你应该看看最近关于kakfa的文档。您没有指定您正在使用的Kafka版本,但假设是最近的版本,我将查看以下文档:
https://kafka.apache.org/20/documentation.html
其中,没有提到
compression.topics
作为配置选项。所以,就像@cricket\u007提到的,这是一个过时/过时的wiki页面,您不应该使用它。