zoukankan      html  css  js  c++  java
  • 分布式通信技术之远程调用

    远程调用的概念

    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对比

  • 相关阅读:
    什么是php面向对象及面向对象的三大特性
    php类的定义与实例化方法
    php面向对象之$this->用法简述
    url的主要功能是什么
    PHP字符串比较函数详解
    PHP截取字符串函数substr()函数实例用法详解
    php 读取文件
    php 正则达达示中的模式修正符
    php正则表示中的元字符
    php 正则表达示中的原子
  • 原文地址:https://www.cnblogs.com/battlescars/p/rpc.html
Copyright © 2011-2022 走看看