LongSerializer 和 Serdes.LongSerde 之间的 Kafka 序列化差异
Kafka serialization difference between LongSerializer and Serdes.LongSerde
我们正在编写一个发布到 Kafka 的新应用程序,我们需要将消息的键序列化为一个 long 值。在检查 Kafka 文档的序列化时,似乎有两个长序列化器 类 作为 LongSerializer 和 Serdes.LongSerde。我们尝试搜索两者之间差异的参考资料,但找不到任何 link 来解释差异。如果有人可以让我们知道/分享一个 link 来解释它们之间的区别,我们将不胜感激。或者它们是一样的吗?
序列化程序文档的主要 link:https://kafka.apache.org/11/javadoc/org/apache/kafka/common/serialization/package-frame.html
长序列化器:https://kafka.apache.org/11/javadoc/org/apache/kafka/common/serialization/LongSerializer.html
Serdes.LongSerde: https://kafka.apache.org/11/javadoc/org/apache/kafka/common/serialization/Serdes.LongSerde.html
谢谢。
如您所知,对于 Kafka(代理),消息是字节数组(键、值)。
KafkaProducer、KafkaConsumer 和 KafkaStreams 需要知道如何写入和读取消息——将它们从 POJO 转换为字节数组,反之亦然。
为此目的,使用了 org.apache.kafka.common.serialization.Serializer
和 org.apache.kafka.common.serialization.Deserializer
。 KafkaProducer 使用 Serializer
- 将 Key
和 Value
转换为字节数组,KafkaConsumer 使用 Deserializer
将字节数组转换为 Key
和 Value
.
KafkaStreams 应用程序同时执行写入和读取操作(to/from 主题),并且 org.apache.kafka.common.serialization.Serdes
是 - 它是 Serializer
和 Deserializer
的某种包装器。
在你的例子中:
LongSerializer
是一个 class,应该用于将 Long
转换为字节数组
LongSerde
是一个 class,应该在 Kafka Streams 应用程序中用于读取和写入 Long(在底层它使用 LongSerializer
和 LongDeserializer
)
补充阅读:
我们正在编写一个发布到 Kafka 的新应用程序,我们需要将消息的键序列化为一个 long 值。在检查 Kafka 文档的序列化时,似乎有两个长序列化器 类 作为 LongSerializer 和 Serdes.LongSerde。我们尝试搜索两者之间差异的参考资料,但找不到任何 link 来解释差异。如果有人可以让我们知道/分享一个 link 来解释它们之间的区别,我们将不胜感激。或者它们是一样的吗?
序列化程序文档的主要 link:https://kafka.apache.org/11/javadoc/org/apache/kafka/common/serialization/package-frame.html
长序列化器:https://kafka.apache.org/11/javadoc/org/apache/kafka/common/serialization/LongSerializer.html
Serdes.LongSerde: https://kafka.apache.org/11/javadoc/org/apache/kafka/common/serialization/Serdes.LongSerde.html
谢谢。
如您所知,对于 Kafka(代理),消息是字节数组(键、值)。
KafkaProducer、KafkaConsumer 和 KafkaStreams 需要知道如何写入和读取消息——将它们从 POJO 转换为字节数组,反之亦然。
为此目的,使用了 org.apache.kafka.common.serialization.Serializer
和 org.apache.kafka.common.serialization.Deserializer
。 KafkaProducer 使用 Serializer
- 将 Key
和 Value
转换为字节数组,KafkaConsumer 使用 Deserializer
将字节数组转换为 Key
和 Value
.
KafkaStreams 应用程序同时执行写入和读取操作(to/from 主题),并且 org.apache.kafka.common.serialization.Serdes
是 - 它是 Serializer
和 Deserializer
的某种包装器。
在你的例子中:
LongSerializer
是一个 class,应该用于将Long
转换为字节数组LongSerde
是一个 class,应该在 Kafka Streams 应用程序中用于读取和写入 Long(在底层它使用LongSerializer
和LongDeserializer
)
补充阅读: