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


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

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


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


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

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

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

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

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

傳輸協(xié)議

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

HTTP:基于HTTP協(xié)議

傳輸效率

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

HTTP:如果是基于HTTP1.1的協(xié)議,請(qǐng)求中會(huì)包含很多無(wú)用的內(nèi)容,如果是基于HTTP2.0,那么簡(jiǎn)單的封裝以下是可以作為一個(gè)RPC來(lái)使用的,這時(shí)標(biāo)準(zhǔn)RPC框架更多的是服務(wù)治理

性能消耗

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

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

負(fù)載均衡

RPC:基本都自帶了負(fù)載均衡策略

HTTP:需要配置Nginx,HAProxy來(lái)實(shí)現(xiàn)

服務(wù)治理

RPC:能做到自動(dòng)通知,不影響上游

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

總結(jié)

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

網(wǎng)上報(bào)名
  • 姓名:
  • 專(zhuān)業(yè):
  • 層次: 分?jǐn)?shù):
  • 電話(huà):
  • QQ/微信:
  • 地址:

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

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

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