4.RPC简化与提炼
上节课解答
4.1.Json序列化
1.Json知识点
2.消息协议采用Json格式
4.2.Buffer序列化
1.pickle知识点
2.简单案例
5.Restful API
5.1.实现一个简单的REST接口
1.Restful引入
2.简单版RESTful Services
4.RPC简化与提炼
上篇回顾:
万物互联之~RPC专栏
https://www.cnblogs.com/dunitian/p/10279946.html
上节课解答
之前有网友问,很多开源的RPC中都是使用路由表,这个怎么实现?
其实路由表实现起来也简单,代码基本上不变化,就修改一下 的 和 两个方法就可以了:
4.1.Json序列化
Python比较6的同志对上节课的Code肯定嗤之以鼻,上次自定义协议是同的通用方法,这节课我们先来简化下代码:
再贴一下上节课的时序图:
1.Json知识点
官方文档:https://docs.python.org/3/library/json.html
需要注意的就是类型转换了(eg: ==> )
PS:序列化: ,反序列化:
2.消息协议采用Json格式
在原有基础上只需要修改下 的 和 方法即可
Client_Stub(类型转换都省掉了)
Server Stub()
输出图示:
4.2.Buffer序列化
RPC其实更多的是二进制的序列化方式,这边简单介绍下
1.pickle知识点
官方文档:https://docs.python.org/3/library/pickle.html
用法和 类似,PS:序列化: ,反序列化:
2.简单案例
和Json案例类似,也只是改了 和 ,我这边就贴一下完整代码(防止被吐槽)
1.Client
2.ClientStub
3.Server
4.ServerCode
5.ServerStub
输出图示:
然后关于RPC高级的内容(会涉及到 ),咱们后面说架构的时候继续,网络这边就说到这
5.Restful API
RESTful只是接口协议规范,它是建立在http基础上的,我们在网络加强篇的末尾简单带一下,后面讲爬虫应该会再给大家说的
5.1.实现一个简单的REST接口
在编写REST接口时,一般都是为HTTP服务的。为了实现一个简单的REST接口,你只需让代码满足Python的 标准即可
1.Restful引入
这边我就不自己实现了(上面手写服务器的时候其实已经展示了Restful接口是啥样),用 快速过一遍:
看个引入案例:
图示输出:
Server Log:
2.简单版RESTful Services
举个查询 信息的例子:
图示输出:(不深入说,后面爬虫会再提的)
课后拓展:
网络专题暂时告已段落了,下次再写网络相关的文章应该就剩下爬虫与架构了
领取专属 10元无门槛券
私享最新 技术干货