为什么 AVRO 用于 Kafka

Why AVRO for Kafka

如果Java 可以在通过网络发送时序列化任何内容。他们为什么要为 Kafka (AVRO) 创建一个全新的框架而不只是序列化常规 JSON ?

Kafka 只有 key/value 个字节。因此,您需要序列化数据。 Plain JSON 是一种方式,Avro 是另一种方式,Protobuf 又是另一种方式。

使用 Avro(或 Protobuf,或 JSON 模式)而不是普通的 JSON(或 CSV,这是一个糟糕的想法)有一些很好的理由。要了解更多信息,请阅读:

这篇文章很好地解释了为什么需要序列化以及 AVRO 发挥作用的地方。它还解释了它与 JSON、XML、CSV 等文本序列化格式的区别

https://devtechfactory.com/blogs/kafka-producer-publish-message-with-avro-schema