简介👾
非常高兴大家能够订阅这个专栏,在这里我将会给大家分享一些Python相关源码的剖析
在接下来的这段日子里,我会一同带各位pythonista探索Python的奥秘
将会分析一些源码的构思设计以及这些工具的使用方法
一个简单的RPC实例👾
一个完整的RPC架构里面包含了四个核心的组件,分别是Client,Client Stub,Server以及Server Stub,这个Stub可以理解为存根
- 客户端(Client),服务的调用方
- 客户端存根(Client Stub),存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方
- 服务端(Server),真正的服务提供者
- 服务端存根(Server Stub),接收客户端发送过来的消息,将消息解包,并调用本地的方法
客户端需要提供调用的信息,如rpc的服务名和方法名,以及方法的参数, 客户端存根会将请求参数序列化, 发送给服务端存根
服务端存根解析,然后在服务注册中心去寻找是否有此服务方法存在,然后在本地调用后将结果序列化返回给客户端存根,客户端在将结果反序列化
下面是一个简单的实现, 下节我们将会解读xmlrpc
的源码
rpcserve