远程过程调用(Remote Procedure Call)

远程过程调用是一种进程间交互技术,主要使用在基于client-server的应用中。
客户端具有RPC翻译并发送到服务器的请求信息,这个请求信息可能是对于远程服务器上的过程或者方法调用。当服务器接收到请求,它发送必要的响应到客户端,当服务器正在处理过程或者方法时,客户端处于阻塞状态,当服务器完成后,客户端才会恢复执行。
步骤如下:

  1. 客户端调用client stub
  2. client stub做系统调用,放参数到消息中,发送消息到服务器
  3. 通过客户端操作系统发送消息到服务器
  4. 由server stub从消息中提出参数
  5. 然后server stub调用服务器过程

远程过程调用(Remote Procedure Call)
优点:

  1. RPC支持面向进程,面向线程模式
  2. RPC内部消息传送原理对用户来说是不可见的
  3. 在RPC中,重新开发代码的成本非常低
  4. RPC可以在分布式环境,本地环境使用
    10.RPC省略了许多协议层,来提升性能

缺点:

  1. RPC仅仅是可以使用许多方法实现的概念,并不是标准