当前在 Python 中进行 RPC 的选择是什么?

实际上,我已经使用 Pyro 和 RPyC 做了一些工作,但是 RPC 实现比这两个要多。我们能列个清单吗?

基于本地 Python 的协议:

具有许多底层协议的 RPC 框架:

基于 JSON-RPC 的框架:

SOAP:

基于 XML-RPC 的框架:

其他:

128864 次浏览

XML-RPC 是 Python 标准库的一部分:

有一些尝试使 SOAP 与 python 一起工作,但是我还没有对它进行太多的测试,所以我不能说它是好的还是不好的。

SOAPy 就是一个例子。

也许是实现 SOAP 的 ZSI。我用了存根发生器,它工作正常。我遇到的唯一问题是通过 HTTPS 执行 SOAP。

因为我问了这个问题,所以我开始使用 Python-对称-jsonrpc。它非常好,可以在 python 和非 python 软件之间使用,并遵循 JSON-RPC 标准。但它缺乏一些例子。

你可以试试 Ladon。它可以同时提供多个 Web 服务器协议,因此您可以在客户端提供更多的灵活性。

Http://pypi.python.org/pypi/ladon

我们正在开发 万能巨蟒(VPy) ,它是一个新的 ORB/RPC 框架的 python 2.6 + 和3.x 的实现。用于检查和测试的功能性 AGPL 开发版本是 有空。VPy 通过一个通用的本机对象层(代码示例)具有类似于 PyRo 和 RPyC 的本机 python 功能。该产品是为实现 凡尔赛平台而设计的,用于与平台无关的远程对象交互。

全面披露: 我为开发 VPy 的公司工作。

你错过了 OmniORB。这是一个相当完整的 CORBA 实现,因此您还可以使用它与其他支持 CORBA 的语言进行对话。

Apache Thift 是 Facebook 开发的一个跨语言 RPC 选项。通过套接字,函数签名以独立于语言的方式在文本文件中定义。