我已经启用了来自客户端生产者API的kafka消息压缩功能,例如:
configProperties.put(ProducerConfig.COMPRESSION_TYPE_CONFIG,“ gzip”)
效果很好,但是,如果我们想将上述压缩限制为某些列出的主题,我们会发现一种方法:
configProperties.put(“ compressed.topics”,“ topicA,topicB”)
从此链接: https://cwiki.apache.org/confluence/display/KAFKA/Compression。 但这不起作用,这意味着在我的测试用例中,我启用了压缩功能,但没有在压缩的主题列表中列出主题。仍然应用了压缩。请帮忙。
答案 0 :(得分:1)
压缩由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_007一样,这是您不应该使用的过时/过时的Wiki页面。