REST與RPC的簡(jiǎn)單對(duì)比

一瀑焦、REST:Representational State Transfer逻悠,表述性狀態(tài)轉(zhuǎn)移

REST是一種架構(gòu)風(fēng)格鲁驶,指的是一組架構(gòu)約束條件和原則震缭。滿足這些約束條件和原則的應(yīng)用程序或設(shè)計(jì)就是RESTful写穴。REST規(guī)范把所有內(nèi)容都視為資源稠氮,網(wǎng)絡(luò)上一切皆資源耘戚。

REST并沒(méi)也創(chuàng)造新的技術(shù)祷舀,組件或服務(wù)秩仆,只是使用Web的現(xiàn)有特征和能力码泛。可以完全通過(guò)HTTP協(xié)議實(shí)現(xiàn)澄耍,使用HTTP協(xié)議處理數(shù)據(jù)通信噪珊。REST架構(gòu)對(duì)資源的操作包括獲取、創(chuàng)建齐莲、修改和刪除資源的操作正好對(duì)應(yīng)HTTP協(xié)議提供的GET痢站、POST、PUT和DELETE方法选酗。

Http動(dòng)詞與對(duì)應(yīng)的REST風(fēng)格的CRUD對(duì)應(yīng)關(guān)系如下:

1阵难、POST對(duì)應(yīng)? ? ? Create(update,delete)

2、GET對(duì)應(yīng)Read

3芒填、PUT對(duì)應(yīng)Update(create)

4多望、DELETE對(duì)應(yīng)Delete嫩舟。

二、RPC? ?:Remote Procedure Call怀偷,遠(yuǎn)程過(guò)程調(diào)用協(xié)議

RPC框架主要做以下三件事:

1家厌、server端如何確定client端要調(diào)用的函數(shù):

在遠(yuǎn)程調(diào)用過(guò)程中,客戶(hù)端和服務(wù)端分別維護(hù)一個(gè)【ID->函數(shù)】的對(duì)應(yīng)表椎工,ID在所有進(jìn)程中都是唯一確定的饭于。客戶(hù)端在做遠(yuǎn)程過(guò)程調(diào)用時(shí)维蒙,附上這個(gè)ID掰吕,服務(wù)端通過(guò)查表,來(lái)確定客戶(hù)端需要調(diào)用的函數(shù)颅痊,然后執(zhí)行相應(yīng)函數(shù)的代碼殖熟。

2、如何進(jìn)行序列化和反序列化

客戶(hù)端和服務(wù)端交互時(shí)將參數(shù)或結(jié)果轉(zhuǎn)化為字節(jié)流在網(wǎng)絡(luò)中傳輸斑响,那么數(shù)據(jù)轉(zhuǎn)化為字節(jié)流的或者將字節(jié)流轉(zhuǎn)換成能讀取的固定格式時(shí)就需要進(jìn)行序列化和反序列化菱属,序列化和反序列化的速度也會(huì)影響遠(yuǎn)程調(diào)用的效率。

3舰罚、如何進(jìn)行網(wǎng)絡(luò)傳輸(選擇何種網(wǎng)絡(luò)協(xié)議)

多數(shù)RPC框架選擇TCP作為傳輸協(xié)議纽门,也有部分選擇HTTP,如gRPC使用HTTP2营罢。不同的協(xié)議各有利弊赏陵。TCP更加高效,而HTTP在實(shí)際應(yīng)用中更加的靈活饲漾。

三蝙搔、REST與RPC比較


四、應(yīng)用場(chǎng)景

REST和RPC都常用于微服務(wù)架構(gòu)中考传。

1杂瘸、HTTP相對(duì)更規(guī)范,更標(biāo)準(zhǔn)伙菊,更通用,無(wú)論哪種語(yǔ)言都支持http協(xié)議敌土。如果你是對(duì)外開(kāi)放API镜硕,例如開(kāi)放平臺(tái),外部的編程語(yǔ)言多種多樣返干,你無(wú)法拒絕對(duì)每種語(yǔ)言的支持兴枯,現(xiàn)在開(kāi)源中間件,基本最先支持的幾個(gè)協(xié)議都包含RESTful矩欠。

RPC在微服務(wù)中的利用

2财剖、 RPC 框架作為架構(gòu)微服務(wù)化的基礎(chǔ)組件悠夯,它能大大降低架構(gòu)微服務(wù)化的成本,提高調(diào)用方與服務(wù)提供方的研發(fā)效率躺坟,屏蔽跨進(jìn)程調(diào)用函數(shù)(服務(wù))的各類(lèi)復(fù)雜細(xì)節(jié)沦补。讓調(diào)用方感覺(jué)就像調(diào)用本地函數(shù)一樣調(diào)用遠(yuǎn)端函數(shù)、讓服務(wù)提供方感覺(jué)就像實(shí)現(xiàn)一個(gè)本地函數(shù)一樣來(lái)實(shí)現(xiàn)服務(wù)咪橙。


最后建議

REST調(diào)用及測(cè)試都很方便夕膀,RPC就顯得有點(diǎn)繁瑣,但是RPC的效率是毋庸置疑的美侦,所以建議在多系統(tǒng)之間的內(nèi)部調(diào)用采用RPC产舞。對(duì)外提供的服務(wù),Rest更加合適菠剩。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末易猫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子具壮,更是在濱河造成了極大的恐慌准颓,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘴办,死亡現(xiàn)場(chǎng)離奇詭異瞬场,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)涧郊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)贯被,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人妆艘,你說(shuō)我怎么就攤上這事彤灶。” “怎么了批旺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵幌陕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我汽煮,道長(zhǎng)搏熄,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任暇赤,我火速辦了婚禮心例,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鞋囊。我一直安慰自己止后,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著译株,像睡著了一般瓜喇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上歉糜,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天乘寒,我揣著相機(jī)與錄音,去河邊找鬼现恼。 笑死肃续,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叉袍。 我是一名探鬼主播始锚,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼喳逛!你這毒婦竟也來(lái)了瞧捌?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤润文,失蹤者是張志新(化名)和其女友劉穎姐呐,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體典蝌,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡曙砂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骏掀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸠澈。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖截驮,靈堂內(nèi)的尸體忽然破棺而出笑陈,到底是詐尸還是另有隱情,我是刑警寧澤葵袭,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布涵妥,位于F島的核電站,受9級(jí)特大地震影響坡锡,放射性物質(zhì)發(fā)生泄漏蓬网。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一鹉勒、第九天 我趴在偏房一處隱蔽的房頂上張望帆锋。 院中可真熱鬧,春花似錦贸弥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)哲鸳。三九已至,卻和暖如春盔憨,著一層夾襖步出監(jiān)牢的瞬間徙菠,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工郁岩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留婿奔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓问慎,卻偏偏與公主長(zhǎng)得像萍摊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子如叼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理冰木,服務(wù)發(fā)現(xiàn),斷路器笼恰,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 轉(zhuǎn)自:http://blog.csdn.net/kesonyk/article/details/50924489 ...
    晴天哥_王志閱讀 24,810評(píng)論 2 38
  • 斐波那契是個(gè)不起眼的意大利老頭踊沸,初見(jiàn)以為他是莊園里的園丁。遠(yuǎn)遠(yuǎn)看去社证,他身體瘦小逼龟,衣服破舊,彎著腰在雜物間整理東西追葡。...
    王胡走閱讀 741評(píng)論 0 0
  • (原創(chuàng)文章辽俗,如需轉(zhuǎn)載疾渣,請(qǐng)聯(lián)系作者) 20世紀(jì)末,美國(guó)學(xué)術(shù)界權(quán)威在百年英語(yǔ)文學(xué)長(zhǎng)河中選出了一百部最優(yōu)秀的小說(shuō)崖飘,其中弗...
    霆鑫閱讀 1,136評(píng)論 0 2
  • 互聯(lián)網(wǎng)時(shí)代的發(fā)展思維:行業(yè)+企業(yè)+職業(yè)能力的上升需要3個(gè)東西:新知榴捡、練習(xí)以及同輩反饋。而圈子是一個(gè)加速提升能力的地...
    丸子同學(xué)日常閱讀 573評(píng)論 0 0