中间件之RPC

 

1、RPC的定义

一、RPC(Romote Procedure Call):远程过程调用,容许一台计算机程序远程调用另一台计算机的子程序,不用关心底层网络通讯编程

二、应用:分布式网络通讯服务器

三、在Socket的基础上实现,比socket须要更多资源网络

四、可做为一种通讯协议(Romote Procedure Call Protocol),远程过程调用协议,经过网络从远程计算机程序上请求服务并发

2、RPC的特色

一、透明性:调用其它机子的程序像用本地的同样socket

二、高性能:RPCserver服务器能并发处理多个Client请求编程语言

3、RPC的编程思想

一、仍然采用C/S编程模式,采用同步方式进行通讯分布式

二、容许本地程序Client调用存放于远程主机Service,和调用本地的没有区别性能

三、引入存根(stub)概念操作系统

存根:

 1)存在于服务器
 2)接受客户存根的请求
 3)和远程对象进行交互
 4)传送服务器相应到客户
 5)负责事物:
      解压客户端的输入远程方法的参数
      调用实际的远程对象的方法
      将结果打包返回给调用者

 

4、RPC的工做原理

一、发送方的地址空间中建立stub,接收方也建立一个代理

二、发送方和本地stub通讯,本地stub在和接收方stub通讯

三、将远程通讯封装在stub中,发送方只和本地代理通讯,接受方从本地stub得到全部请求

 

5、RPC的局限

一、客户端和服务器的计算机操做系统不一致会出现意想不到的错误

二、因为网络的复杂性,可能限制消息的尺寸,可能会丢失和重排消息

三、编程语言不一样也会致使问题

四、因为是面向过程,因此近年来进展不大

相关文章
相关标签/搜索