中間件之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的侷限

一、客戶端和服務器的計算機操做系統不一致會出現意想不到的錯誤

二、因爲網絡的複雜性,可能限制消息的尺寸,可能會丟失和重排消息

三、編程語言不一樣也會致使問題

四、因爲是面向過程,因此近年來進展不大

相關文章
相關標籤/搜索