gpt4 book ai didi

apache-kafka - Kafka 压缩 : How to do compression at single message level

转载 作者:行者123 更新时间:2023-12-05 05:21:26 26 4
gpt4 key购买 nike

当我向 Kafka 主题发送消息时,我可能会收到一条比其他消息大得多的消息。

因此需要在单个消息级别进行压缩。根据 https://cwiki.apache.org/confluence/display/KAFKA/Compression ,

A set of messages can be compressed and represented as one compressed message.

也按照这里给出的描述 https://github.com/apache/kafka/blob/0.10.1/clients/src/main/java/org/apache/kafka/clients/producer/ProducerConfig.java对于属性 compression.type,

Compression is of full batches of data, so the efficacy of batching will also impact the compression ratio (more batching means better compression).;

我是否应该将批处理大小设置为一个/禁用批处理以在每个消息级别进行压缩?

最佳答案

压缩与是否批量生产的问题是正交的。虽然,如文档中所述:

more batching means better compression

压缩可以在主题级别(https://kafka.apache.org/documentation/#topicconfigs)或作为生产者配置的一部分(https://kafka.apache.org/documentation/#producerconfigs)设置。此外,同一主题中的不同消息可以使用不同的类型进行压缩,因为压缩类型是记录元数据 (https://kafka.apache.org/documentation/#recordbatch) 的一部分,并且对消费者来说是无缝的。

但是,如果您需要有选择地压缩不同的消息,则不能使用同一个生产者来完成,因为生产者配置是静态的。无论这种选择的动机是什么,您可以只创建两个生产者实例(一个支持压缩,一个不支持压缩),并根据消息内容,决定使用哪个生产者来发送它。

关于apache-kafka - Kafka 压缩 : How to do compression at single message level,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895714/

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