如何构建一个简易的Java RPC框架?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1603个文字,预计阅读时间需要7分钟。
RPC简介,即远程过程调用(Remote Procedure Call),指在不同计算机上运行的程序可以像调用本地程序一样调用远程计算机上的程序。它是一种计算机通信协议,允许程序像调用本地服务一样调用远程服务。RPC支持多种实现方式,如RMI(远程方法调用)、Hessian等。
一、RPC简介
RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。
RPC示意图
如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调用sayHi()方法就像调用本地方法一样,调用 –>返回。但从后续调用可以看出Computer1调用的是Computer2中的sayHi()方法,RPC屏蔽了底层的实现细节,让调用者无需关注网络通信,数据传输等细节。
二、RPC框架的实现
上面介绍了RPC的核心原理:RPC能够让本地应用简单、高效地调用服务器中的过程(服务)。它主要应用在分布式系统。如Hadoop中的IPC组件。但怎样实现一个RPC框架呢?
从下面几个方面思考,仅供参考:
1.通信模型:假设通信的为A机器与B机器,A与B之间有通信模型,在Java中一般基于BIO或NIO;。
本文共计1603个文字,预计阅读时间需要7分钟。
RPC简介,即远程过程调用(Remote Procedure Call),指在不同计算机上运行的程序可以像调用本地程序一样调用远程计算机上的程序。它是一种计算机通信协议,允许程序像调用本地服务一样调用远程服务。RPC支持多种实现方式,如RMI(远程方法调用)、Hessian等。
一、RPC简介
RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。
RPC示意图
如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调用sayHi()方法就像调用本地方法一样,调用 –>返回。但从后续调用可以看出Computer1调用的是Computer2中的sayHi()方法,RPC屏蔽了底层的实现细节,让调用者无需关注网络通信,数据传输等细节。
二、RPC框架的实现
上面介绍了RPC的核心原理:RPC能够让本地应用简单、高效地调用服务器中的过程(服务)。它主要应用在分布式系统。如Hadoop中的IPC组件。但怎样实现一个RPC框架呢?
从下面几个方面思考,仅供参考:
1.通信模型:假设通信的为A机器与B机器,A与B之间有通信模型,在Java中一般基于BIO或NIO;。

