Ming Rpc
2015-12-16 10:20
176 查看
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
首先,需要先讲一下什么是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
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- 一步一步跟我学易语言之第二个易程序菜单设计
- C#分布式事务的超时处理实例分析
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- C#中设计、使用Fluent API
- Erlang分布式节点中的注册进程使用实例
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- JavaScript 组件之旅(一)分析和设计
- 通过 Redis 实现 RPC 远程方法调用(支持多种编程语言)
- C# 事件的设计与使用深入理解
- 大型网站设计注意事项大全
- IIS提示出现RPC服务器不可用的解决方法
- Android中的脑残设计总结
- RPC、RMI、SOAP的区别详解
- C++实现的分布式游戏服务端引擎KBEngine详解
- 常用的Javascript设计模式小结
- node.js中RPC(远程过程调用)的实现原理介绍
- 用户权限管理设计[图文说明]
- ASP.NET通过分布式Session提升性能