【问题标题】:RPC frameworks available?可用的 RPC 框架?
【发布时间】:2011-04-07 04:15:05
【问题描述】:

我希望使用 RPC 框架供内部使用。该框架必须是跨语言的。我现在正在探索 Apache Thrift。 Google 协议缓冲区不完全提供 RPC 功能。除了 Thrift,我还有哪些选择。 (我的服务器主要是 Java,客户端是 Java、Python、PHP)。

【问题讨论】:

  • 经过一番探索,并查看了文档中所有可用的选项,我更喜欢 Thrift。等待消息包更成熟
  • 很好奇,您在非常简单的请求/响应处理(“REST”)中使用 RPC 到底是什么;例如简单的 HTTP+JSON 组合效果很好,方便,性能,简单。那么像 Thrift、PB、Hessian 或其他框架这样的框架会给你带来什么?
  • Thrift 绝对比 HTTP/JSON 方法更快更轻。使用 Thrift 可以处理比 HTTP+JSON/XML 更多的请求。所以 Thrift 是内部服务的不错选择。 REST 方法可能最适合外部 API

标签: java php python rpc thrift


【解决方案1】:

还有MessagePack 它声称比 Protocol Buffers 更快,并且比 Thrift 拥有更多功能。

【讨论】:

  • 老实说,PB、Thrift 和替代品之间的性能差异并不重要——它们对于大多数用途来说都足够快。
【解决方案2】:

好像还有ICE: 它使用 Google 协议缓冲区进行 RPC。

【讨论】:

  • 确切地说,它不使用它们,但可以模拟它们。
【解决方案3】:

我会将 REST 视为第一个选项,因为它无处不在且毫无意义。

如果性能和表现真的需要紧凑,我听说过关于 Apache AVRO 的好消息,我的手指在愤怒中抽搐尝试。

【讨论】:

  • AVRO 看起来很有趣。 REST 与 RPC 的争论已经结束,我正在寻找 RPC 替代方案
  • 乍一看,AVRO 似乎不支持开箱即用的 PHP。这对我们来说可能是个问题。
  • 我没有在 Avro C++ 源代码中找到 RPC 实现,我错过了什么吗?
  • issues.apache.org/jira/browse/AVRO-777看来,至少C支持正在顺利进行中。
猜你喜欢
  • 2013-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 2010-12-26
  • 1970-01-01
  • 2018-11-19
  • 2012-06-08
相关资源
最近更新 更多