- 博客(7)
- 资源 (19)
- 收藏
- 关注
原创 一个简单RPC框架是如何炼成的(VI)——引入服务注册机制
开局篇我们说了,RPC框架的四个核心内容:RPC数据的传输, RPC消息协议, RPC服务注册, RPC消息处理。接下来处理RPC服务的注册机制。所谓注册机制,就是Server需要声明支持哪些rpc方法,然后当客户端发送调用某个声明的rpc方法之后,服务端能自动找到执行该请求的具体方法。1. 引入服务注册的方式也是为了代码解耦,将req的处理与具体的req消息内容解耦。2. 上面我们 引入了两种服务注册的方式,一种方式是普通的方式,逐个添加方法。另一种方式通过python的“反射”技术,自动查找一个服务
2015-07-20 22:52:08 3809
原创 一个简单RPC框架是如何炼成的(V)——引入传输层
开局篇我们说了,RPC框架的四个核心内容RPC数据的传输。RPC消息 协议RPC服务注册RPC消息处理 接下来处理数据传输。实际应用场景一般都是基于socket。socket代码比较多,使用起来也比较麻烦。而且具体的传输通道使用socket或者其他的方式,如更上层的http,或者android里的binder,都是可替换的,只是具体的一种实现而已。所以,这里我就偷个懒,只是
2015-07-20 22:47:41 2081
原创 一个简单RPC框架是如何炼成的(IV)——实现RPC消息的编解码
之前我们制定了一个很简单的RPC消息 的格式,但没有实现相应的encode和decode方法,下面我们处理掉这个编解码问题。这里我还是简单原则,重点在于晓义嘛。利用python里的两个运算。 str 和eval,实现编解码。
2015-07-19 19:29:16 2666
原创 一个简单RPC框架是如何炼成的(III)——实现带参数的RPC调用
上一篇,我们制定了一个很简单的RPC消息 的格式,但是还遗留了两个问题我们并没有实现相应的encode和decode方法,没有基于可以跨设备的字符串传输,而是直接的内存变量传递。现在的RPC request不支持带参数的请求命令。如add(a, b), 如何在RPC消息中描述参数a,b 。我先来实现第二个问题,即带参数的RPC调用。其实,也没什么太大不同。既然是要带参数,那
2015-07-19 08:39:23 5314
原创 一个简单RPC框架是如何炼成的(II)——制定RPC消息
开局篇我们说了,RPC框架的四个核心内容RPC数据的传输。RPC消息 协议RPC服务注册RPC消息处理下面,我们先看一个普通的过程调用class Client(object): def __init__(self): self.remote = None ## # 内部是委托给远程remote对象来获取结果。
2015-07-16 21:22:09 2789
原创 一个简单RPC框架是如何炼成的(I)——开局篇
开场白,这是一个关于RPC的相关概念的普及篇系列,主要是通过一步步的调整,提炼出一个相对完整的RPC框架。RPC(Remote Procedure Call Protocol)——远程过程调用协议,基于C/S模型。有四个核心内容:RPC数据的传输,RPC消息的表示与编解码,RPC服务注册,RPC消息的任务处理机。这个RPC框架的搭建,庄稼人将采用python作为开发语言,是从原始的普通调用开始,然后一步步的演化,最后生成一个完整的Rpc框架
2015-07-16 21:20:04 9243 1
原创 读书报告之《修改代码的艺术》 (III)
《修改代码的艺术》,每次读来,都会相当重构,正如作者自己就说到的:从技术上讲,书中列到的解依赖技术,都是重构技术,因为他们都保持了代码的行为。这里庄稼人再多引用《大话重构》中的一句话:先重构我们的系统,使之可以应付那个需求,然后再添加代码,实现新需求。是的,正如读书报告(I)中所阐述的,引入单元测试,本质上就是做定制需求。作为最后一篇,来总结一下最后的解依赖技术。核心思想就是泛化,这里
2015-07-06 22:11:56 886
doxypypy--- Doxygen filter for Python
2014-08-24
TCPParser -- follow tcp stream by python
2014-08-20
CommonMakefile的帮助文档
2014-08-12
通用的makefile模板
2014-01-14
重构——改善既有代码的示例代码
2013-04-10
windows下的android源码的批量git处理脚本
2012-06-30
android adb log查看工具
2012-06-23
深入C++对象模型的读书笔记
2012-06-22
C++ProgrammingGuide
2012-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人