什么是在Python中执行RPC的当前select?

实际上,我已经和Pyro和RPyC做了一些工作,但是比这两者有更多的RPC实现。 我们可以列出他们的名单吗?

本机基于Python的协议:

  • PyRo4(Python远程对象)
  • RPyC(远程Python调用)
  • 电路

有很多底层协议的RPC框架:

  • Spyne (见雷电说话 )

基于JSON-RPC的框架:

  • 蟒对称-jsonrpc
  • rpcbd
  • 拉冬
  • jsonrpc2-zeromq,python

肥皂:

  • ZSI
  • SOAPpy的
  • 拉冬
  • Spyne

基于XML-RPC的框架:

  • XMLRPC,使用标准库中的xmlrpclib和SimpleXMLRPCServer模块。

其他:

  • WAMP(RPC + PubSub,JSON + MsgPack)
  • 扭曲的传播
  • ZMQRPC(基于ZeroMQ和BSON)
  • VPy(Versile Python) – AGPLv3
  • zerorpc(Python或Node.js,msgpack + ZeroMQ)

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

  • Python 2: xmlrpclib和SimpleXMLRPCServer
  • Python 3: xmlrpc ( 客户端和服务器 )

Apache Thrift是在Facebook上开发的跨语言RPC选项。 在套接字上工作,function签名是以独立于语言的方式在文本文件中定义的。

由于我问过这个问题,我已经开始使用python-symmetric-jsonrpc了 。 它非常好,可以在Python和非Python软件之间使用,并遵循JSON-RPC标准。 但是它缺less一些例子。

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

http://pypi.python.org/pypi/ladon

有一些尝试使python的SOAP工作,但我没有太多的testing,所以我不能说,如果它是好的或不。

SOAPy就是一个例子。

我们正在开发Versile Python ( VPy ),一个新的ORB / RPC框架的Python 2.6+和3.x的实现。 functionAGPL dev版本供审查和testing可用 。 VPy具有类似于PyRo和RPyC的本地pythonfunction,通过一般本地对象层( 代码示例 )。 该产品devise用于实现Versile Platform的平台无关的远程对象交互。

充分披露:我为公司开发VPy工作。

也许是实现SOAP的ZSI。 我使用存根生成器,它工作正常。 我遇到的唯一问题是关于通过HTTPS进行SOAP。

你错过了omn​​iORB 。 这是一个相当完整的CORBA实现,所以你也可以用它来和其他支持CORBA的语言进行交stream。