目前用 Python 进行 RPC 的选择是什么?[关闭]
- 2025-03-18 08:55:00
- admin 原创
- 44
问题描述:
实际上,我已经对 Pyro 和 RPyC 进行了一些研究,但 RPC 实现比这两个还要多。我们可以列出一个清单吗?
基于 Python 的原生协议:
PyRo4(Python 远程对象)
RPyC(远程 Python 调用)
电路
具有许多底层协议的 RPC 框架:
Spyne(参见闪电演讲)
基于 JSON-RPC 的框架:
python-symmetric-jsonrpc
rpcbd
拉冬
jsonrpc2-zeromq-python
肥皂:
锌锌矿
SOAP 协议
拉冬
斯派恩
基于 XML-RPC 的框架:
XMLRPC,使用标准库中的xmlrpclib和SimpleXMLRPCServer模块。
其他的:
WAMP(RPC + PubSub,JSON + MsgPack)
扭曲蔓延
ZMQRPC(基于 ZeroMQ 和 BSON)
VPy(Versile Python) -AGPLv3
zerorpc (Python 或 Node.js,msgpack + ZeroMQ)
rpc
解决方案 1:
XML-RPC是 Python 标准库的一部分:
Python 2:xmlrpclib和SimpleXMLRPCServer
Python 3:xmlrpc(客户端和服务器)
解决方案 2:
Apache Thrift是 Facebook 开发的跨语言 RPC 选项。它通过套接字工作,函数签名以与语言无关的方式在文本文件中定义。
解决方案 3:
自从我问了这个问题后,我开始使用python-symmetric-jsonrpc。它相当不错,可以在 python 和非 python 软件之间使用,并遵循 JSON-RPC 标准。但它缺少一些示例。
解决方案 4:
您可以尝试 Ladon。它可同时提供多种 Web 服务器协议,因此您可以在客户端提供更大的灵活性。
http://pypi.python.org/pypi/ladon
解决方案 5:
有一些尝试使 SOAP 与 python 一起工作,但我还没有进行过太多测试,所以我不能说它是否好。
SOAPy就是一个例子。
解决方案 6:
我们正在开发Versile Python (VPy),这是针对 Python 2.6+ 和 3.x 的新 ORB/RPC 框架的实现。可供审查和测试的功能性 AGPL 开发版本现已推出。VPy通过通用本机对象层 (代码示例) 具有与 PyRo 和 RPyC 类似的本机 Python 功能。该产品专为Versile 平台实现的平台独立远程对象交互而设计。
全面披露:我在开发 VPy 的公司工作。
解决方案 7:
也许是实现 SOAP 的 ZSI。我使用了存根生成器,它工作正常。我遇到的唯一问题是通过 HTTPS 执行 SOAP。
解决方案 8:
您错过了omniORB。这是一个非常完整的 CORBA 实现,因此您还可以使用它与其他具有 CORBA 支持的语言进行交流。
扫码咨询,免费领取项目管理大礼包!