如何用Python构建一个基础的RPC框架示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1121个文字,预计阅读时间需要5分钟。
原文:本文字需要一点Python+socket基础。回BERPC+客户端(Client):服务调用方。客户端存根(Client Stub):存放服务端地址信息,将客户端的请求参数数据打包成网络消息,再通过网络传输。
改写后:需掌握Python socket基础。了解RPC+客户端(Client):负责服务调用。客户端存根(Client Stub):存储服务端地址,封装客户端请求参数为网络消息,并通过网络发送。
本文需要一点Python socket基础。
回顾RPC
- 客户端(Client):服务调用方。
- 客户端存根(Client Stub):存放服务端地址信息,将客户端的请求参数数据信息打包成网络消息,再通过网络传输发送给服务端。
- 服务端存根(Server Stub):接收客户端发送过来的请求消息并进行解包,然后再调用本地服务进行处理。
- 服务端(Server):服务的真正提供者。
- Network Service:底层传输,可以是 TCP 或 HTTP。
实现jsonrpc
在实现前,简单理一下整体思路。
1、Network Service 直接使用Python Socket相关的API实现 2.传输数据使用JSON,在Socket层会被压成二进制,我们无需关心。
模仿xmlrpc,Client与Server都采用Minix多继承机制来实现,每个类负责自身的事情,最终暴露出现的只有一个类中有限的方法。
先从Client端开始实现。
本文共计1121个文字,预计阅读时间需要5分钟。
原文:本文字需要一点Python+socket基础。回BERPC+客户端(Client):服务调用方。客户端存根(Client Stub):存放服务端地址信息,将客户端的请求参数数据打包成网络消息,再通过网络传输。
改写后:需掌握Python socket基础。了解RPC+客户端(Client):负责服务调用。客户端存根(Client Stub):存储服务端地址,封装客户端请求参数为网络消息,并通过网络发送。
本文需要一点Python socket基础。
回顾RPC
- 客户端(Client):服务调用方。
- 客户端存根(Client Stub):存放服务端地址信息,将客户端的请求参数数据信息打包成网络消息,再通过网络传输发送给服务端。
- 服务端存根(Server Stub):接收客户端发送过来的请求消息并进行解包,然后再调用本地服务进行处理。
- 服务端(Server):服务的真正提供者。
- Network Service:底层传输,可以是 TCP 或 HTTP。
实现jsonrpc
在实现前,简单理一下整体思路。
1、Network Service 直接使用Python Socket相关的API实现 2.传输数据使用JSON,在Socket层会被压成二进制,我们无需关心。
模仿xmlrpc,Client与Server都采用Minix多继承机制来实现,每个类负责自身的事情,最终暴露出现的只有一个类中有限的方法。
先从Client端开始实现。

