基于zerorpc和gevent的简单rpc
xnrpc的Python项目详细描述
xnrpc
xnrpc是一个轻量级的、可靠的、与语言无关的库,用于 服务器端进程之间的分布式通信。 它建立在zerorpc和gevent之上,简单、高效、健壮。
功能
- 支持心跳和超时
- 优雅的异常处理程序
- 支持管道命令
- 异步I/O,支持大并发
- 使用非常简单
demo
一个简单的服务器和客户端示例:
fromxnrpc.serverimportRpcInterface,ServerManagerfromxnrpc.clientimportopen_clientfromxnrpc.common.logimportget_log_log=get_log(__name__)classOperationRpcInterface(RpcInterface):defls_file(self):_log.info('Operation ls file')returnNonedefcheck_ip(self):_log.info('Operation check ip')returnNoneif__name__=='__main__':# 启动RPC服务器rpc_interface=OperationRpcInterfaceurl='tcp://127.0.0.1:7772'server=ServerManager(url,rpc_interface,name='Test Server')server.start()# 建立一个客户端连接withopen_client(url)asclient:client.ls_file()client.check_ip()# 停止服务器server.stop()