Hadoop RPC 机制和流程和实现

本文深入探讨了RPC(远程过程调用)的概念及其在网络分布式程序开发中的应用,特别关注于Hadoop环境下RPC的功能与实现。文章详细介绍了RPC在服务端与客户端的角色划分,以及RPCServer与RPCClient的主要对象结构与功能。通过解析这些关键组件,读者将能够更好地理解如何利用RPC简化复杂分布式系统的开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

什么是RPC

       RPC(Remote Procedure Call) 远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术。RPC假定某些传输协议的存在,如TCPUDP,为通信程序之间携带信息数据

RPC使得开发包括网络分布式程序在内的应用程序更加容易

 

Hadoop 中的RPC

 

RPC 分为 Server & Client 两种角色。Server 提供方法调用,Client通过网络来调用Server端的方法,处理返回的数据。

 

 

RPC Server 分为以下几种对象

 

结构

功能

Server.Listener

RPC Server的监听者,用来接收RPC Client的连接请求和数据,其中数据封装成CallPUSHCall队列。

Server.Handler

RPC ServerCall处理者,和Server.Listener通过Call队列交互。

Server.Responder

RPC Server的响应者。Server.Handler按照异步非阻塞的方式向RPC Client发送响应,如果有未发送出的数据,交由Server.Responder来完成。

Server.Connection

对Client的连接的存储,有客户端的IP端口,调用的服务器端的方法,参数。

Server.Call

持有客户端的Call信息。

 

RPC Client 分为以下几种对象

 

结构

功能

Client.ConnectionId

RPC Server对象连接的信息存储器。

Client.Call

Call调用信息。

Client.ParallelResults

来自服务器端对方法调用的响应。

RPC.Invoker

InvocationHandler的实现,提供invoke方法,实现RPC ClientRPC Server对象的调用。

RPC.Invocation

用来序列化和反序列化RPC Client的调用信息。(主要应用JAVA的反射机制和InputStream/OutputStream

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值