中间件之RPC
?
一、RPC的定義
1、RPC(Romote Procedure Call):遠程過程調用,允許一臺計算機程序遠程調用另外一臺計算機的子程序,不用關心底層網絡通信
2、應用:分布式網絡通信
3、在Socket的基礎上實現(xiàn),比socket需要更多資源
4、可作為一種通信協(xié)議(Romote Procedure Call Protocol),遠程過程調用協(xié)議,通過網絡從遠程計算機程序上請求服務
二、RPC的特點
1、透明性:調用其它機子的程序像用本地的一樣
2、高性能:RPCserver服務器能并發(fā)處理多個Client請求
三、RPC的編程思想
1、仍然采用C/S編程模式,采用同步方式進行通信
2、允許本地程序Client調用存放于遠程主機Service,和調用本地的沒有區(qū)別
3、引入存根(stub)概念
存根:1)存在于服務器2)接受客戶存根的請求3)和遠程對象進行交互4)傳送服務器相應到客戶5)負責事物:解壓客戶端的輸入遠程方法的參數(shù)調用實際的遠程對象的方法將結果打包返回給調用者?
四、RPC的工作原理
1、發(fā)送方的地址空間中創(chuàng)建stub,接收方也創(chuàng)建一個
2、發(fā)送方和本地stub通信,本地stub在和接收方stub通信
3、將遠程通信封裝在stub中,發(fā)送方只和本地代理通信,接受方從本地stub獲得所有請求
?
五、RPC的局限
1、客戶端和服務器的計算機操作系統(tǒng)不一致會出現(xiàn)意想不到的錯誤
2、由于網絡的復雜性,可能限制消息的尺寸,可能會丟失和重排消息
3、編程語言不同也會導致問題
4、由于是面向過程,所以近年來進展不大
總結
- 上一篇: 一箱油跑1000多公里!比亚迪最豪华MP
- 下一篇: 灵动思绪EF(Entity FrameW