一、RPC(Romote Procedure Call):遠程過程調用,容許一臺計算機程序遠程調用另一臺計算機的子程序,不用關心底層網絡通訊編程
二、應用:分佈式網絡通訊服務器
三、在Socket的基礎上實現,比socket須要更多資源網絡
四、可做爲一種通訊協議(Romote Procedure Call Protocol),遠程過程調用協議,經過網絡從遠程計算機程序上請求服務併發
一、透明性:調用其它機子的程序像用本地的同樣socket
二、高性能:RPCserver服務器能併發處理多個Client請求編程語言
一、仍然採用C/S編程模式,採用同步方式進行通訊分佈式
二、容許本地程序Client調用存放於遠程主機Service,和調用本地的沒有區別性能
三、引入存根(stub)概念操作系統
存根: 1)存在於服務器 2)接受客戶存根的請求 3)和遠程對象進行交互 4)傳送服務器相應到客戶 5)負責事物: 解壓客戶端的輸入遠程方法的參數 調用實際的遠程對象的方法 將結果打包返回給調用者
一、發送方的地址空間中建立stub,接收方也建立一個代理
二、發送方和本地stub通訊,本地stub在和接收方stub通訊
三、將遠程通訊封裝在stub中,發送方只和本地代理通訊,接受方從本地stub得到全部請求
一、客戶端和服務器的計算機操做系統不一致會出現意想不到的錯誤
二、因爲網絡的複雜性,可能限制消息的尺寸,可能會丟失和重排消息
三、編程語言不一樣也會致使問題
四、因爲是面向過程,因此近年來進展不大