.net - protobuf-net 或 Protocol Buffer 服务,从 c# 到 python 和其他语言

标签 .net web-services protocol-buffers protobuf-net cross-language

我最近一直在研究 protobuf-net 和 Protocol Buffer ,到目前为止它看起来相当令人印象深刻。我想知道的是事情的服务方面。如果我正确理解了谷歌文档,您可以在 .proto 文件中声明服务。我的问题是

  1. 此服务支持是否在 protobuf-net 或其他 dotnet protobuf 库中实现?
  2. 服务支持是否像 Protocol Buffer 一样完全跨语言?
  3. 根据 .proto 文件中声明的声明在另一端生成客户端有多难?

基本上,我正在考虑使用 protobuf 设置基于 Web 或 tcp 的服务(如果可能的话),以减少处理大量数据时的开销,并且 protobuf 似乎很理想,因为我的客户通常使用 python、java、c++ 和 dotnet 等语言的混合实现。我真的希望他们和我自己都能轻松地将其集成到他们的应用程序中,并且由于我计划在内部使用 protobuf,因此希望在我这边也能轻松集成。

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

最佳答案

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

(免责声明:我在 Google 工作并拥有 protobuf-csharp-port 项目。但是,我并不是“代表”Google 撰写本文。这只是我个人的观点。)

关于.net - protobuf-net 或 Protocol Buffer 服务,从 c# 到 python 和其他语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917462/

相关文章:

hadoop - 使用elephant-bird配合hive读取protobuf数据

c# - 什么时候不使用 yield (return)

.net - 将我的 asp.net mvc web 应用程序发布到 IIS 后,无法上传我的内容文件夹中的文件

c# - 如何读取流的所有字节但最后 8 个字节

c# - 将服务引用添加到可移植类库

c++ - 如何使用基于范围的 for 循环在 C++ 中迭代可变的重复 Proto 字段?

java - 如何在不使用第三方库的情况下转义java字符串中的unicode字符

java - jQuery/JSON 调用的 REST WS 没有返回响应

java - 如何返回数组列表作为对 Restful CXF Web 服务调用的响应

c++ - 无法生成 gRPC 服务类