rpc和http的區(qū)別是什么 各自的優(yōu)缺點有哪些


http是指從客戶端到服務器端的請求消息,rpc是遠程過程調(diào)用協(xié)議,它們之間有什么區(qū)別呢,下面是小編整理的相關(guān)內(nèi)容,希望對大家有所幫助!

rpc和http的區(qū)別是什么 各自的優(yōu)缺點有哪些


rpc和http的區(qū)別是什么 各自的優(yōu)缺點有哪些


rpc和http的區(qū)別是什么 各自的優(yōu)缺點有哪些

rpc和http的區(qū)別是什么

rpc和http的存在重大不同的是:http請求是使用具有標準語義的通用的接口定向到資源的,這些語義能夠被中間組件和提供服務的來源機器進行解釋。結(jié)果是使得一個應用支持分層的轉(zhuǎn)換(layers of transformation)和間接層(indirection),并且獨立于消息的來源,這對于一個Internet規(guī)模、多個組織、無法控制的可伸縮性的信息系統(tǒng)來說,是非常有用的。與之相比較,rpc的機制是根據(jù)語言的API(language API)來定義的,而不是根據(jù)基于網(wǎng)絡的應用來定義的。

HTTP和RPC的優(yōu)缺點

主要來闡述HTTP和RPC的異同,讓大家更容易根據(jù)自己的實際情況選擇更適合的方案。

傳輸協(xié)議

RPC:可以基于TCP協(xié)議,也可以基于HTTP協(xié)議

HTTP:基于HTTP協(xié)議

傳輸效率

RPC:使用自定義的TCP協(xié)議,可以讓請求報文體積更小,或者使用HTTP2協(xié)議,也可以很好的減少報文的體積,提高傳輸效率

HTTP:如果是基于HTTP1.1的協(xié)議,請求中會包含很多無用的內(nèi)容,如果是基于HTTP2.0,那么簡單的封裝以下是可以作為一個RPC來使用的,這時標準RPC框架更多的是服務治理

性能消耗

RPC:可以基于thrift實現(xiàn)高效的二進制傳輸

HTTP:大部分是通過json來實現(xiàn)的,字節(jié)大小和序列化耗時都比thrift要更消耗性能

負載均衡

RPC:基本都自帶了負載均衡策略

HTTP:需要配置Nginx,HAProxy來實現(xiàn)

服務治理

RPC:能做到自動通知,不影響上游

HTTP:需要事先通知,修改Nginx/HAProxy配置

總結(jié)

RPC主要用于公司內(nèi)部的服務調(diào)用,性能消耗低,傳輸效率高,服務治理方便。HTTP主要用于對外的異構(gòu)環(huán)境,瀏覽器接口調(diào)用,APP接口調(diào)用,第三方接口調(diào)用等。

網(wǎng)上報名
  • 姓名:
  • 專業(yè):
  • 層次: 分數(shù):
  • 電話:
  • QQ/微信:
  • 地址:

文中圖片素材來源網(wǎng)絡,如有侵權(quán)請聯(lián)系644062549@qq.com刪除

提交報名同學/家長:允許擇校老師幫您擇校調(diào)劑,同意《隱私保障》條例,并允許推薦給更多服務商為您提供服務!

轉(zhuǎn)載注明出處:http://www.tengyi66.com