2

我最近一直在研究 protobuf-net 和协议缓冲区,到目前为止,它似乎令人印象深刻。我想知道的是事物的服务方面。如果我理解 google 文档的权利,您可以在 .proto 文件中声明服务。我的问题是

  1. 此服务支持是在 protobuf-net 还是其他 dotnet protobuf lib 中实现的?
  2. 服务是否支持完全跨语言,例如它们本身的协议缓冲区?
  3. 根据 .proto 文件中声明的声明在另一端生成客户端有多难?

基本上,我正在考虑使用 protobuf 设置基于 web 或 tcp 的服务,以减少处理大量数据时的开销,而 protobuf 似乎很理想,因为我的客户通常使用 python、java、c++ 和 dotnet 等混合语言实现。我真的想要一些对他们和我自己来说都很容易集成到他们的应用程序中的东西,因为我计划在内部使用 protobuf,所以希望它很容易集成到我这边。

[编辑] 只是一些额外的信息 code.google.com/apis/protocolbuffers/docs/proto.html#services 这就是我所说的服务类型,但我不确定什么语言真正支持它以及你真正从中得到什么.proto 文件中的声明。

4

1 回答 1

3

如果您查看第三方附加组件页面,您会发现许多单独的 RPC 实现。但是,我不相信 Google 已经发布了 RPC 实现,而且我不确定第三方集合中是否有任何特别“标准化”的实现......你真的需要选择你喜欢的 RPC 机制,并且可能做一些工作来实现它不存在的任何地方。

(免责声明:我为谷歌工作并拥有 protobuf-csharp-port 项目。但是,我并不是“代表”谷歌写这篇文章。这只是我个人的看法。)

于 2012-01-18T21:15:52.720 回答