使用Python 实现一个 RPC 框架 1. 概述 RPC 是什么? RPC(Remote Procedure Call Protocol),RPC 是指远程过程调用,比如现在有两台服务器 A、B,一个应用部署在 A 服务器上,想要调用 B 服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据参数。 简略的来
python官方库自带框架:SimpleXMLRPCServer,使用的http协议,xml格式,数据包大,速度慢 第三方框架:ZeroRPC(底层使用ZeroMQ和MessagePack,使用的tcp协议,速度快,响应时间短,并发高),grpc(谷歌推出支持跨语言) 1 SimpleXMLRPCServer使用 服务端 fromxmlrpc.serverimportSimpleXMLRPCServerclassRPCServer(object):def__init__(s...
1、Network Service 直接使用Python Socket相关的API实现 2.传输数据使用JSON,在Socket层会被压成二进制,我们无需关心。 模仿xmlrpc,Client与Server都采用Minix多继承机制来实现,每个类负责自身的事情,最终暴露出现的只有一个类中有限的方法。 先从Client端开始实现。 # client.pyimportrpcclient c = rpcclient.RPCCl...
3. 生成python 协议文件.py格式 protoc -I=$SRC_DIR --python_out=$DST_DIR $SRC_DIR/addressbook.proto 其中: $SRC_DIR 表示.proto存放的路径 $DST_DIR表示生成的.py协议文件所在的路径 如:protoc -I=./ --python_out=./ ./addressbook.proto ## ./表示当前路径 1. 2. 3. 4. 4. 利用协议文件...