Ming Rpc

来源:互联网 发布:fifaonline3古利特数据 编辑:程序博客网 时间:2024/06/06 02:32

Ming Rpc(Ming Remote Processing Call)

首先,需要先讲一下什么是Rpc?


如图,Rpc是远程调用协议。简单地说,就是RpcClient向RpcSever处发布Command,由Rpc Server处执行,再返回执行结果。

接下来,我们介绍一下传统的Rpc实现。

传统Rpc,传输过程中将会有序列化和反序列化操作,对于Command,有些会有反射。例如,java自己RMI和Hadoop Rpc。这种方式的优点在于,序列化操作可以方便的实现打包和解包。本文主旨不在于介绍传统型 rpc。所以这里不多哆嗦,大家有兴趣,可以搜索相关文章。


Ming Rpc,的实现原理,有着和传统Rpc不一样的套路,对于序列化和反序列化,我们采用将Command and Parameters Josn化,通过传输Json数据实现互通,这样,提搞了Ming Rpc的高复用性。

如上图,Ming Rpc通过CommandFactory代替了工厂。同样可以实现很高的复用性的同时,避免了反射所带来的性能损失。当然这个设计,也可以用做其他领域,比如代替Ioc Container。

下面我们简单介绍一下流程:

1、Client 连接 Server

2、Client 发送命令给Server

3、Server收到消息,并通过CommandFactory找到Command

4、执行Command

5、返回结果

6、结束

不常写blog,对于Ming Rpc这块,如果大家有兴趣,请关注 我的博客 :http://iwantmoon.com/liming

同时欢迎大家加入敲代码程序员社区

我们的网站:iwantmoon.com

QQ群:299388502


0 0