Node.js簡單理解 RPC調用


RPC調用(Remote Producedure Call 遠程過程調用)
 
RPC(Remote Procedure Call Protocol)——遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。
 
RPC調用和 Ajax調用的區別
 
1、不同點
   ① RPC調用是一個服務器和另外一個服務器之間的通信,Ajax是服務器和瀏覽器之間的通信      
   ② 不一定使用DNS作為尋址服務,Ajax使用DNS作為尋址服務,但是RPC不一定使用,一般是在內        網間進行通信,使用DNS通訊划不來
      Ajax的DNS尋址
      瀏覽器發送http請求(http://域名/路徑)
      DNS負責將域名轉換為IP
    RPC調用的DNS尋址 
    通過ID(統一標准的字符,例如騰訊的L5、阿里的VIP)來獲取IP
 
  ③ 應用層協議一般不使用HTTP,RPC一般使用二進制協議來取代HTTP,因為二進制協議有一些性能上的優勢
     Ajax因為是瀏覽器向服務器之間的通信,瀏覽器都用http通信
     RPC使用TCP通信
     TCP通信方式
      1、單工通信(只能cliient向server發送數據或者只能server向client發送數據)
      2、半雙工通信(在同一時間段內,只能向另一方發送數據,相當於獨木橋)
      3、全雙工通信(隨時互相發送數據,相當於雙向車道,但是成本比較高)
 
   ④ RPC基於TCP或UDP,Ajax一般基於HTTP
       Ajax使用http協議,要么是html/xml,要么是json
       RPC調用使用二進制協議,更小的數據包體積,更快的編解碼速率,使用計算機語言,二進制解    碼更利於計算機理解,http文本協議更利於人類理解
 
2、相同點:
   ① 都是兩個計算機之間的網絡通信
   ② 需要雙方約定一個數據格式


免責聲明!

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



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