gpt4 book ai didi

java - 使用高级消费者和简单消费者的kafka压缩

转载 作者:可可西里 更新时间:2023-11-01 15:05:49 25 4
gpt4 key购买 nike

在我的应用程序中,我们使用的是 Kafka 高级消费者,如果生产者和消费者使用 java API 压缩和解压缩数据,它可以毫无问题地使用解压缩的数据。

如果生产者使用librdkafka C++ API 进行压缩(snappy 或 GZIP)会怎样? Java 消费者是否能够像在上述情况下那样透明地解压缩。消费者端的获取大小会发生什么?这是否也透明地处理。

如果使用简单的消费者模型设计kafka消费者会怎样?我们是否必须显式解压缩来自生产者的压缩数据(假设此处使用 librdkafka C++ API)。

我在想,如果在生产者端使用 librdkafka C++ API 进行压缩,那么高级消费者可能无法工作?如果我在这里错了,请清除我,因为我在这里看到了其他帖子 Kafka message codec - compress and decompress .与此相反,我发现另一个链接说,如果高级用户使用 http://grokbase.com/t/kafka/users/142veppeyv/unable-to-consume-snappy-compressed-messages-with-simple-consumer,减压应该会起作用。 .

谢谢

最佳答案

它们是兼容的,librdkafka 使用与 Scala/Java 客户端相同的压缩和分帧。

增加 fetch.message.max.bytes 允许消费者在每次请求时获取更大的消息或更大批量的消息,但通常可以将其保留为默认值,除非您的生产者正在生产大于此值的消息 - 在这种情况下,您还需要增加 message.max.bytes

压缩仅在生产者上配置,消费者端不需要配置,因为每条消息(或一批消息)都标有它们的压缩类型(none、snappy、gzip、..)。

关于java - 使用高级消费者和简单消费者的kafka压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28092475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com