【问题标题】:pros and cons of Avro - JSON / binary serializationAvro 的优缺点 - JSON / 二进制序列化
【发布时间】: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


【解决方案1】:

这取决于你在寻找什么:

  • 二进制 - 更小的数据和更快的序列化。
  • JSON - 适用于调试和基于 Web 的应用程序。

请注意,在任何情况下都会传输 JSON 模式。

【讨论】:

  • JSON 架构并非以所有二进制格式传输。如果使用模式注册表,即使在 Avro 中也不会
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-17
  • 2010-09-18
  • 1970-01-01
  • 2014-01-04
  • 2012-02-18
  • 2012-11-01
相关资源
最近更新 更多