实际上,我已经用 Pyro 和 RPyC 做了一些工作,但是 RPC 实现比这两个要多。我们可以列出它们吗?
基于 Python 的原生协议:
带有很多底层协议的 RPC 框架:
基于 JSON-RPC 的框架:
肥皂:
基于 XML-RPC 的框架:
- XMLRPC,使用标准库中的xmlrpclib和SimpleXMLRPCServer模块。
其他:
实际上,我已经用 Pyro 和 RPyC 做了一些工作,但是 RPC 实现比这两个要多。我们可以列出它们吗?
基于 Python 的原生协议:
带有很多底层协议的 RPC 框架:
基于 JSON-RPC 的框架:
肥皂:
基于 XML-RPC 的框架:
其他:
Apache Thrift是 Facebook 开发的跨语言 RPC 选项。在套接字上工作,函数签名以与语言无关的方式在文本文件中定义。
自从我问了这个问题后,我就开始使用python-symmetric-jsonrpc。相当不错,可以在python和非python软件之间使用,遵循JSON-RPC标准。但它缺乏一些例子。
你可以试试拉登。它一次提供多个 Web 服务器协议,因此您可以在客户端提供更大的灵活性。
有一些尝试使 SOAP 与 python 一起工作,但我没有对其进行太多测试,所以我不能说它是否好。
SOAPy就是一个例子。
我们正在开发Versile Python (VPy),它是新 ORB/RPC 框架的 python 2.6+ 和 3.x 的实现。可供审查和测试的功能性 AGPL 开发版本可用。VPy 通过通用的原生对象层(代码示例)具有类似于 PyRo 和 RPyC 的原生 python 功能。该产品专为实现Versile Platform的独立于平台的远程对象交互而设计。
全面披露:我为开发 VPy 的公司工作。
也许是实现 SOAP 的 ZSI。我使用了存根生成器,它工作正常。我遇到的唯一问题是关于通过 HTTPS 执行 SOAP。
您错过了omniORB。这是一个非常完整的 CORBA 实现,因此您也可以使用它与其他支持 CORBA 的语言进行对话。