分布式通信技术之远程调用

远程调用的概念

1.本地调用和远程调用

本地调用: 进程内函数之间的相互调用

远程调用:进程间函数的相互调用,是进程间通信的一种方式

2.远程调用的两个分类

本地过程调用LPC:运行在同一台机器上的进程之间的函数相互调用

远程过程调用RPC: 运行在不同机器上的进程间函数之间的相互调用

3.同步调用和异步调用的区别

远程过程调用RPC存在同步和异步调用

同步调用:调用方等待被调用方执行完成并返回结果

异步调用:调用方调用后不用等待被调用方执行结果返回,并可以通过回调通知等方式获取返回结果

RPC的原理及应用

基本原理

调用方采用参数传递的方式通过调用本机器上的一个函数或方法,去执行远程机器上的函数和方法并返回结果

基本流程

RPC的目的通过把第2到8步的几个过程封装起来,让用户看不到细节。所以RPC的核心是在用户眼里,远程过程调用和调用一次本地服务没什么不同

RPC与本地调用的不同:

1. 调用ID与函数的映射

2. 序列化与反序列化

3. 网络传输协议

应用举例(Apache Dubbo)

基本架构

RMI的原理及应用

基本原理

RMI基于对象,充分利用了面向对象的思想去实现整个过程,其本质就是一种基于对象的RPC实现

基本流程

 

 

RMI通过对象作为远程接口来进行远程方法的调用,返回的结果也是对象形式,可以是java对象类型,也可以是基本数据类型。

应用举例(EJB)

RMI与RPC对比

posted on 2020-02-13 21:25  BattleScars  阅读(669)  评论(0编辑  收藏  举报