Hadoop系列-IPC之代码实现
来源:百度文库 编辑:神马文学网 时间:2024/07/03 08:33:31
整体结构:在IPC包中,最重要的3个类是Server,Client和RPC,它们具有层次化的结构。
RPC类是对Server、Client的具体化。在RPC类中规定,客户程序发出请求调用时,参数类型必须是Invocation;从服务器返回的值类型必须是ObjectWritable。为了加强理解,可以查看测试类TestIPC。在那里,规定的参数类型与返回值类型都是LongWritable。 RPC类是对Server、Client的包装,简化用户的使用。如果一个类需充当服务器,只需通过RPC类的静态方法getServer获得Server实例,然后start。同时此类提供协议接口的实现。如果一个类充当客户端,可以通过getProxy或者waitForProxy获得一个实现了协议接口的proxy object,与服务器端交互。为了加强理解,可以查看测试类TestRPC,在那里,实现的协议接口为TestProtocol。
Server类
启动Listener进程。如果收到需要建立连接的请求,将建立连接,然后在上面捕获读操作的命令。收到命令之后,将把解析客户端发过来信息的工作委派给Connection。Connection把信息封装到Call对象中,放入队列中,待Handler处理。 启动指定数目的Handler线程,处理客户端对指定方法调用的请求,然后把结果返回给客户端。
Client类
用Call封装好调用信息,然后借助从连接池中取出的Connection向服务器端发送,等待结果。如果到指定服务器的Connection不存在,将马上建立。Connection线程读取服务器方法调用的返回信息。完成之后,通知主线程。
RPC类
对外使用的窗口,隐藏了Server和Client的背后细节,验证RPC协议版本。
RPC类是对Server、Client的具体化。在RPC类中规定,客户程序发出请求调用时,参数类型必须是Invocation;从服务器返回的值类型必须是ObjectWritable。为了加强理解,可以查看测试类TestIPC。在那里,规定的参数类型与返回值类型都是LongWritable。 RPC类是对Server、Client的包装,简化用户的使用。如果一个类需充当服务器,只需通过RPC类的静态方法getServer获得Server实例,然后start。同时此类提供协议接口的实现。如果一个类充当客户端,可以通过getProxy或者waitForProxy获得一个实现了协议接口的proxy object,与服务器端交互。为了加强理解,可以查看测试类TestRPC,在那里,实现的协议接口为TestProtocol。
Server类
启动Listener进程。如果收到需要建立连接的请求,将建立连接,然后在上面捕获读操作的命令。收到命令之后,将把解析客户端发过来信息的工作委派给Connection。Connection把信息封装到Call对象中,放入队列中,待Handler处理。 启动指定数目的Handler线程,处理客户端对指定方法调用的请求,然后把结果返回给客户端。
Client类
用Call封装好调用信息,然后借助从连接池中取出的Connection向服务器端发送,等待结果。如果到指定服务器的Connection不存在,将马上建立。Connection线程读取服务器方法调用的返回信息。完成之后,通知主线程。
RPC类
对外使用的窗口,隐藏了Server和Client的背后细节,验证RPC协议版本。
Hadoop系列-IPC之代码实现
IPC
FLASH情人之吻(系列代码47)
时钟系列代码
PCBTN.COM-IPC技术标准目录之印制电路板
风之甬道: symbian下用c 实现网页浏览的代码
进程间的通讯实现(IPC)的11种方法
进程间的通讯实现(IPC)的11种方法
进程间的通讯实现(IPC)的11种方法 - Johnny的专栏 - CSDNBlog
纯代码实现md5算法
纯代码实现md5算法
图论 欧拉迹 c++代码实现
hadoop集群网络性能优化:hadoop机架感知实现及配置 - 剑在手,问天下谁是英雄 - ChinaUnix个人空间 - Powered by X-Space
工作流系列之可自管理的分布式工作流引擎的设计与实现
工作流系列之可自管理的分布式工作流引擎的设计与实现
用组策略实现用户证书的自动注册申请:ISA2006系列之二十八
活动目录系列之四:单域环境的实现(多站点)--基本配置 - 千山岛主之微软技术空间站 - ...
花儿朵朵系列时钟代码
ipc$入侵
什么是ipc$
纯代码实现的分割线
定制Java ResourceBundle类实现代码灵活性
curl模块的纯php代码实现
用纯ASP代码实现图片上传