【问题标题】:The role of Google Protocol Buffers in network softwareGoogle Protocol Buffers 在网络软件中的作用
【发布时间】:2014-05-12 15:42:22
【问题描述】:

编辑:这里我说的是Protocol Buffers的Java绑定。

我试图了解 Google 协议缓冲区是什么以及它们的作用。假设我有一个简单的基于 Netty 的网络客户端/服务器对。客户端随机向服务端发送Ping消息,服务端回复Pong消息。

Protocol Buffers 如何适应这里的方程式?我会用它们序列化PingPong 消息,然后使用Netty 来实际传输这些序列化消息吗?还是 Protocol Buffers 也负责传输?

【问题讨论】:

    标签: java serialization tcp netty protocol-buffers


    【解决方案1】:

    公共协议缓冲区仅包含序列化规范。一些戏弄和诱人的钩子暗示了完整的 RPC 堆栈,但没有提供实现或规范。如果您使用协议缓冲区,您将需要自己的传输或 RPC 堆栈,或者为您添加这些功能的库。需要强调的是:protocol-buffers 正式声明的只是一个序列化协议和一个描述以该格式存储的数据的 DSL。

    【讨论】:

    • 感谢@Marc Gravell (+1) - 所以你是说,在 Java 的情况下,我需要将 Java 绑定用于协议缓冲区,是吗?如果是这样,如果我们谈论的是实际的 Java 实现,您的答案会如何变化?再次感谢!
    • @IAmYourFaja 有,iirc,protobuf 的多个 java 实现。 Any 应该以相同的方式工作以用于序列化目的。如果一个或多个提供 RPC 服务,那很好,但没有定义任何协议,因此无法保证与任何特定系统的兼容性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    相关资源
    最近更新 更多