【发布时间】:2019-06-25 07:18:58
【问题描述】:
我最近开始使用 Apache-Avro,并希望序列化我的 Kafka 主题。现在我读到 Avro 同时提供 Json 和二进制序列化。有什么优点和缺点吗?二元解不是更好吗?
亲切的问候, 尼卡
【问题讨论】:
-
Confluent 提供的现有 Avro 序列化器不提供 JSON avro 编码
-
可能的考虑因素是 Avro 带有用于 C/C++/C#(以及其他)的库。这使得它比普通的旧 JSON 更容易互操作。支持 JSON 的论据是 JSON 模式可以表达大小和值约束,一个体面的 JSON 验证器将尊重这一点。这使其成为更完整的序列化,因为您可以设置数组大小和数字值的限制,并且检查是自动且无错误的。我认为 Avro 的 IDL 不支持约束,因此必须通过其他容易出错的方式从开发人员向开发人员传达此类限制。
标签: serialization apache-kafka avro