中間件之RPC


 

一、RPC的定義

1、RPC(Romote Procedure Call):遠程過程調用,允許一台計算機程序遠程調用另外一台計算機的子程序,不用關心底層網絡通信

2、應用:分布式網絡通信

3、在Socket的基礎上實現,比socket需要更多資源

4、可作為一種通信協議(Romote Procedure Call Protocol),遠程過程調用協議,通過網絡從遠程計算機程序上請求服務

二、RPC的特點

1、透明性:調用其它機子的程序像用本地的一樣

2、高性能:RPCserver服務器能並發處理多個Client請求

三、RPC的編程思想

1、仍然采用C/S編程模式,采用同步方式進行通信

2、允許本地程序Client調用存放於遠程主機Service,和調用本地的沒有區別

3、引入存根(stub)概念

存根:

 1)存在於服務器
 2)接受客戶存根的請求
 3)和遠程對象進行交互
 4)傳送服務器相應到客戶
 5)負責事物:
      解壓客戶端的輸入遠程方法的參數
      調用實際的遠程對象的方法
      將結果打包返回給調用者

 

四、RPC的工作原理

1、發送方的地址空間中創建stub,接收方也創建一個

2、發送方和本地stub通信,本地stub在和接收方stub通信

3、將遠程通信封裝在stub中,發送方只和本地代理通信,接受方從本地stub獲得所有請求

 

五、RPC的局限

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

2、由於網絡的復雜性,可能限制消息的尺寸,可能會丟失和重排消息

3、編程語言不同也會導致問題

4、由於是面向過程,所以近年來進展不大


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM