设为首页 加入收藏

TOP

Hadoop RPC机制&完整调用流程
2014-11-24 08:07:58 来源: 作者: 【 】 浏览:1
Tags:Hadoop RPC 机制 完整 调用 流程

RPC框架利用的Java的反射能力,该RPC框架要求调用的参数和返回结果必须是Java的基本类型,String和Writable接口的实现类,以及元素为以上类型的数组。同时,接口方法应该只抛出IOException异常。


选择了java,为什么不用现成的rmi?


答案就是:使用rpc可以对连接进行精细控制、超时、缓冲区处理等进行精确处理,rmi在这方面难以提供。


Client和Server之间的控制信息是通过RPC机制完成的。DataNode端是通过获得NameNode的代理,通过该代理和NameNode进行通信的。Client通过RPC机制、动态代理机制调用Server端的方法,Server端将方法调用结果返回给Client。



RPC.Invocation是一个方法调用类。包含以下变量:



继承了Writeable,所以可以用于序列化传输。readFields和write方法分别借助ObjectWriteable类对上述三种变量的序列化和反序列化。


RPC.ClientCache是客户端的缓存,用于维护客户端集合,定义如下:


private Map clients = new HashMap();


在getClient中,如果SocketFactory对应的client不存在,就new一个,并将其加入clients中。


VersionMismatch是一个异常类,当Client的协议版本与Server的协议版本不匹配时会抛出此异常。


InvocationHandler 是代理实例的调用处理程序实现的接口。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇简简单单的代码让你轻松学会动态.. 下一篇Android HTTPPOST方法请求数据

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)