一个易于使用的,直观的,跨语言的RPC
zerorpc是一个在服务端进程上提供分布式通信的轻量级的、可靠的跨语言的库。它基于ZeroMQ和MessagePack。提供流式相应(streamed response)——就像python的生成器(generators)——这让zerorpc不仅仅是个典型的RPC引擎。内置心跳包、超时监测以及从失败请求中恢复。自我修复能力、第一类异常以及命令行工具让debug也变得极其简单。
安装
1 | pip install zerorpc |
HelloWorld
Server.py1
2
3
4
5
6
7
8
9import zerorpc
class HelloRPC(object):
def hello(self, name):
return "Hello, %s" % name
s = zerorpc.Server(HelloRPC())
s.bind("tcp://0.0.0.0:4242")
s.run()
Client.py
1 | import zerorpc |
流式相应(Streaming Responses)
Server.py
1 | import zerorpc |
Client.py
1 | import zerorpc |
第一类异常(First-class exception)
Server.py
1 | import zerorpc |
Client.py
1 | import zerorpc |
文档
- Pycon Vedio(在Utube上,需翻墙)
- Pycon Notes
- 协议介绍