《Hadoop技术内幕》学习笔记——RPC和动态代理
2013-06-08 00:37
204 查看
本文是《hadoop技术内幕——深入解析Hadoop Common和HDFS架构设计与实现原理》第4章的1-3节的学习笔记。内容为Hadoop IPC部分的基础知识介绍。
第4章第1节讲解了RPC的原理,包括Stub-Skeleton的架构等,进而用
接下来的2,3小节,简单的介绍了IPC过程所依赖的技术方法:Java的动态代理方式和NIO的网络传输方式。
第2节讲
更系统的看动态代理过程,分为两个阶段:
1.代理接口的实现:静态方法Proxy.newInstance()生成动态对象。
2.调用转发过程:InvocationHandler实现
第3节的
我总结了一份slides,挂载dropbox里:请戳
PS:欢迎光临我的新博客 http://biaobiaoqi.me
知识框架
由于Hadoop分布式环境需要一个更高效和正对性优化的IPC机制,传统的诸如RMI的解决方案无法满足这一要求,Hadoop自己实现了一套IPC方法。第4章第1节讲解了RPC的原理,包括Stub-Skeleton的架构等,进而用
RMI举例(可以参考的演示代码)。RMI的调用实现主要包括了服务器端的registry和客户端的lookup。虽然Hadoop不是使用RMI做IPC,但了解一下其调用方式对感性的认识到如何进行分布式环境下的远程调用还是有作用的。
接下来的2,3小节,简单的介绍了IPC过程所依赖的技术方法:Java的动态代理方式和NIO的网络传输方式。
第2节讲
动态代理,这里需要理解面向对象的代理模式和*动态*的原因。代理模式分很多种,这里用到的是简单的对行为的传递。动态代理的动态特性,则是因为框架能提供动态创建某个接口的实现的能力(可以参考的演示代码)。
更系统的看动态代理过程,分为两个阶段:
1.代理接口的实现:静态方法Proxy.newInstance()生成动态对象。
2.调用转发过程:InvocationHandler实现
第3节的
NIO,跟传统的套接字(Socket)通信过程做了对比。需要了解Socket通信的特点:同步,阻塞,基于字节,理解这种特点带来的服务器端的线程闲置的压力。对应的,NIO则是可异步的,非阻塞的,基于块的。具体的实现上,需要了解缓冲区(Buffer)的原理和使用方式,通道(Channel)和选择器(Selector)配合的使用方式。
我总结了一份slides,挂载dropbox里:请戳
PS:欢迎光临我的新博客 http://biaobiaoqi.me
相关文章推荐
- 老王讲自制RPC框架.(二.动态代理)
- 《Java编程思想》学习笔记6——Java动态代理
- 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式
- 如何写一个RPC框架(二):利用Bean容器和动态代理简化客户端代码
- 《Java编程思想》学习笔记6——Java动态代理
- [HBase] Hadoop RPC 动态代理
- 《Java编程思想》学习笔记6——Java动态代理
- RPC中客户端动态代理如何实现的?
- alljoyn:基于java动态代理的RPC实现原理分析
- 6.hadoop中rpc中的动态代理的理解
- 《Java编程思想》学习笔记6——Java动态代理
- RPC动态代理
- java Rpc之java动态代理
- 《Java编程思想》学习笔记5——Java动态代理
- Java基础:动态代理在RPC框架中应用
- 理解动态代理及动态代理在RPC中的应用
- 设计模式之代理模式学习------动态代理-----《设计模式之禅》学习笔记
- 简单的RPC(未用动态代理)
- 反射与动态代理的应用(一):在RPC中的使用
- 基于 JDK 的动态代理-佟刚老师《Spring4视频教程》学习笔记(16)