RPC、RMI、HTTP、REST的區別


RPCRMIHTTPREST的區別

 

RPC遠程服務調用(Remote Procedure Call),加上Protocol后可以稱為遠程過程調用協議,可以用不同的語言實現,可以借用HTTP協議或者其他協議來實現,一般都是通過基於TCP/IP的自定義協議實現。

 

HTTP協議和TCP/IP協議有什么關系呢?HTTP是應用層協議,TCP/IP是傳輸層協議。

 

HTTP協議請求中會包含很多內容,傳輸效率要低,一般RPC實現都不采用HTTP協議RPC采用自定義的TCP協議,可以精簡報文格式,一般都是采用二進制形式,客戶端和服務端采用統一的序列化和反序列化方式保持數據統一,效率更高,所以一般企業內部通信都是采用自定義TCPRPC協議,傳輸效率高。

 

HTTP超文本傳輸協議(HyperText Transfer Protocal),是應用層的一種網絡傳輸協議,一般格式都是json或者xml,也是基於TCP/IP實現的。

 

REST是一種架構風格,是基於HTTP協議的,可以理解稱一種API的規范,比如查詢都是GET請求,新增都是POST,修改是PUT,刪除是DELETE等。

 

RMI遠程方法調用(Remote Method Invocation),是一種用於實現RPCjava API,僅僅應用在java程序上,依賴於JVM,因為他僅僅支持從一個JVM到另一個JVM的調用。

 

企業內部的微服務數據傳輸都是采用自定義的rpc實現的,傳輸效率更高;http一般是面向用戶的,規范統一,用戶使用起來方便,直接通過瀏覽器地址訪問接口即可。

 


免責聲明!

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



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