ZeroRPC是一个轻量级,可靠且与语言无关的产品 用于服务器端之间分布式通信的库 过程。它建立在ZeroMQ和MessagePack之上。 支持流响应 - 类似于 python 生成器 - 使 ZeroRPC 比典型的 RPC 引擎更多。内置 检测信号和超时检测故障并从故障中恢复 请求。内省能力,一流例外 命令行实用程序使调试变得容易。
# 安装zerorpc
pip install zerorpc
# 启动内置服务
zerorpc --server --bind tcp://*:1234 time
zerorpc --client --connect tcp://127.0.0.1:1234 strftime "%F %T"
服务端
# zerorpc --server --bind tcp://*:1234 time
# zerorpc --client --connect tcp://127.0.0.1:1234 strftime "%F %T"
import zerorpc
class HelloRPC:
"""HelloRPC."""
def hello(self, name):
"""hello
:param name:
"""
return "Hello,%s" %name
@zerorpc.stream # 流式处理
def srange(self,fr,to,step):
return range(fr,to,step)
s = zerorpc.Server(HelloRPC())
s.bind("tcp://0.0.0.0:1234")
s.run()
客户端
import zerorpc
c = zerorpc.Client()
c.connect("tcp://127.0.0.1:1234")
print(c.hello("RPC demo"))
for i in c.srange(0,10,2):
print(i)