我可以压缩Kafka中KafkaStream使用的中间主题(状态存储)吗?

时间:2019-06-14 08:49:20

标签: apache-kafka-streams

使用状态处理器时,状态也可以存储在kafka中。

例如,那些名称如下的主题: -changelog-xpubspec.yaml

例如,我可以使用gzip压缩这些主题,而KafkaStream仍然可以使用它们吗?

1 个答案:

答案 0 :(得分:1)

正如Mathias所指出的,您可以通过在内部主题配置中设置compression.type主题配置来压缩消息。参见https://kafka.apache.org/10/javadoc/org/apache/kafka/streams/state/StoreBuilder.html#withLoggingEnabled-java.util.Map-

或者,您也可以实现自定义Serde来进行压缩。

首选前者,因为它将仅在Kafka主题中压缩,而不会在状态存储中压缩。这样可以避免在处理过程中不必要的压缩/解压缩。