繁体   English   中英

Kafka Consumer Deserializer 是否必须匹配 Producer Serializer?

[英]Does Kafka Consumer Deserializer have to match Producer Serializer?

消费者使用的反序列化器是否必须与生产者使用的序列化器相匹配?

如果生产者将 JSON 值添加到消息中,那么消费者可以选择使用ByteArrayDeserializerorStringDeserializeror JsonDeserializer ,而不管生产者使用哪个序列化器还是必须匹配?

如果他们必须匹配,使用不同的结果是什么? 这会导致异常、没有数据或其他什么吗?

它必须是兼容的,不一定是匹配的对

ByteArrayDeserializer 可以消耗任何东西。

StringDeserializer 假定 UTF8 编码的字符串,并可能在消费时将其他类型转换为字符串

JsonDeserializer 将尝试解析消息并在无效 JSON 上失败

如果你使用了 Avro、Protobuf、Msgpack 等二进制格式的消费者,那么它们也会尝试解析消息,如果它们无法识别各自的容器,则会失败

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM