apache-kafka - 卡夫卡压缩,如何将其限制为一些列出的主题?如何使用客户端生成 API 使用压缩的主题属性?
问题描述
我已经从客户端的生产者 API 启用了 kafka 消息压缩,例如:
configProperties.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "gzip")
它运作良好,但是如果我们想将上述压缩限制为某些列出的主题,我们注意到一种方法:
configProperties.put("compressed.topics", "topicA,topicB")
从这个链接: https ://cwiki.apache.org/confluence/display/KAFKA/Compression 。但它不起作用,这意味着在我的测试用例中我启用了压缩并且我没有在compressed.topics 的参数中列出我的主题。仍然应用了压缩。请帮忙。
解决方案
压缩由 Kafka 中的几个参数处理:
- 在代理上,
compression.type
为整个集群配置默认值。它允许值gzip
、snappy
、lz4
或。前三个是不言自明的,它们只是不同的压缩方法(snappy/lz4 是推荐的),是不言自明的,默认的,基本上只是使用生产者决定使用的任何压缩(或不使用) . 在这种情况下,Kafka 只是将消息视为字节数组,而不会尝试对其进行解码。uncompressed
producer
uncompressed
producer
- 在代理上的主题级别,您还可以指定与上述相同的配置,
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 页面。
推荐阅读
- python - 如何使用 OpenCV 使这些非常粗糙的图像平滑和变薄?
- wordpress - 导入自定义字段文件时获取空文件
- python-3.x - 展开列元素
- python - Dialogflow - 通过 v2 API 创建带有输入上下文的 Intent
- javascript - Vue - 在 v-for 图像数组中切换一个图像
- swift - Swift - 如何在菜单栏应用程序的窗口中共享一个类(作为单例)?
- heroku - 如何将我的 Squarespace 域指向我的 Heroku 应用程序?
- python - 在图像源不可用的python selenium中下载图像
- r - 如何在多个文件夹上运行脚本
- python - 如何选择所有排列