【问题标题】:Protocol buffer (.proto) file implementation, different or same efficiency?协议缓冲区(.proto)文件实现,不同或相同的效率?
【发布时间】:2020-04-15 23:00:00
【问题描述】:

在为 gRPC 编写 .proto 文件时,我注意到我也可以。

1) 将我的所有消息(请求和响应)与所有 RPC 一起包含在一个 .proto 文件中。

2) 将每个 rpc 写入自己的 .proto 文件中。

我可以看到,当我有两个 RPC 访问相同的消息时,将协议缓冲区写入同一个文件会更方便。但是,我希望尽可能将它们拆分,以采用更模块化的方法。

我的问题是,忽略偏好,这两种方法之间是否存在效率差异?也将不胜感激任何有关会议的信息。

注意:我正在使用 gRPC(C++ 和 Java)我不知道语言实现是否与答案有关。

【问题讨论】:

  • 没有。但是你听说过FlatBuffers吗?当然,如果没有benchmarks,我们甚至不能开始谈论效率。

标签: java c++ protocol-buffers grpc


【解决方案1】:

效率没有区别。某些语言会根据 proto 文件名导入生成的代码,例如,如果未设置 option java_multiple_files = true,则 C++ 和 Java,因此在 .proto 文件本身之外可以看到差异。但不会影响性能。

唯一的限制是服务的所有方法都必须在一个文件中。但是这些方法的消息仍然可以在单独的文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-26
    • 2023-03-13
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 2020-03-26
    相关资源
    最近更新 更多