【问题标题】:what is the scenerio for Avro that Json does not fitJson 不适合的 Avro 场景是什么
【发布时间】:2017-09-25 11:38:52
【问题描述】:

我正在使用 Avro 为 Kafka 系统提供数据,我想知道为什么要创建 Avro,以及在哪种情况下我们应该更喜欢 Avro 而不是 Json。

Json 是不是更适合互联网通信,比如 RESTful 请求,而 Avro 更适合 Hadoop 生态系统?

我在谷歌上搜索了一些答案,他们比较了压缩数据的大小和效率,但我不确定这是否足以创建新的东西。

【问题讨论】:

    标签: json apache-kafka avro


    【解决方案1】:

    确实,restful 请求通常使用 json 交换数据。

    规模和效率是一个正当的理由。它节省了带宽、内存和存储空间。与json相比,对于访问某些字段等操作也非常cpu友好,无需将整个消息加载到内存中。

    更有效地处理单个消息可以更轻松地扩展必须处理数百万条消息的应用程序。

    【讨论】:

    • 感谢您的回答。你能给我一个关于在不加载整个消息的情况下访问某些字段的小例子吗?我认为这是关于 Avro 的一个非常有趣的功能。
    • 读取数据时,您可以使用仅包含您感兴趣的字段的架构定义。然后,Avro 将跳过您遗漏的那些。实际上,在阅读时,您指定两个模式,即原始写入模式和仅包含您想要的字段的读取模式。这依赖于 avro 的模式解析功能。它的主要设计目的是允许在发布端添加字段,而消费者仍然可以使用旧模式读取新消息。
    猜你喜欢
    • 2016-04-13
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2011-06-26
    相关资源
    最近更新 更多