Rest和RPC的區(qū)別

一蛾扇、概述

接口調(diào)用通常包含兩個部分攘烛,序列化和通信協(xié)議:
1??常見的序列化協(xié)議包括json、xml镀首、hession坟漱、protobuf、thrift蘑斧、text靖秩、bytes等;
2??通信協(xié)議比較流行的是http竖瘾、soap沟突、websockect。

首先解釋下兩種接口調(diào)用:
1??Rest:嚴格的說接口很規(guī)范捕传,操作對象即為資源惠拭,對資源的四種操作(post、get庸论、put职辅、delete),并且參數(shù)都放在 URL 上聂示。不嚴格的說 Http+json域携、Http+xml,常見的 http api 都可以稱為 Rest 接口鱼喉。
2??RPC:常說的遠程方法調(diào)用秀鞭,就是像調(diào)用本地方法一樣調(diào)用遠程方法,通信協(xié)議大多采用二進制方式扛禽。RPC通撤姹撸基于TCP實現(xiàn),常用框架例如dubbo编曼,netty豆巨、mina、thrift掐场。

二往扔、http vs 高性能二進制協(xié)議

http相對更規(guī)范贩猎,更標準,更通用瓤球,無論哪種語言都支持http協(xié)議融欧。如果是對外開放API敏弃,外部的編程語言多種多樣卦羡,無法拒絕對每種語言的支持。相應的麦到,如果采用http绿饵,無疑在實現(xiàn)SDK之前,支持了所有語言瓶颠,所以現(xiàn)在開源中間件拟赊,基本最先支持的幾個協(xié)議都包含RESTful。
RPC協(xié)議性能要高的多粹淋,例如Protobuf吸祟、Thrift、Kyro等桃移,(如果算上序列化)吞吐量大概能達到http的二倍屋匕。響應時間也更為出色。千萬不要小看這點性能損耗借杰,公認微服務做的比較好的过吻,例如,netflix蔗衡、阿里纤虽,曾經(jīng)都傳出過為了提升性能而合并服務。如果是交付型的項目绞惦,性能更為重要逼纸,因為你賣給客戶往往靠的就是性能上微弱的優(yōu)勢。

無論是Google济蝉、Amazon杰刽、netflix(據(jù)說很可能轉向grpc),還是阿里堆生,實際上內(nèi)部都是采用性能更高的RPC方式专缠。而對外開放的才是RESTful。

Rest 調(diào)用及測試都很方便淑仆,RPC就顯得有點麻煩涝婉,但是RPC的效率是毋庸置疑的。所以建議在多系統(tǒng)之間采用RPC蔗怠,對外提供服務墩弯,Rest是很適合的吩跋。
duboo在生產(chǎn)者和消費者兩個微服務之間的通信采用的就是RPC,無疑在服務之間的調(diào)用RPC更變現(xiàn)的優(yōu)秀渔工。

三锌钮、RPC在微服務中的利用

1??RPC 框架是架構微服務化的首要基礎組件 ,它能大大降低架構微服務化的成本引矩,提高調(diào)用方與服務提供方的研發(fā)效率梁丘,屏蔽跨進程調(diào)用函數(shù)(服務)的各類復雜細節(jié)。
2??RPC 框架的職責是:讓調(diào)用方感覺就像調(diào)用本地函數(shù)一樣調(diào)用遠端函數(shù)旺韭;讓服務提供方感覺就像實現(xiàn)一個本地函數(shù)一樣來實現(xiàn)服務氛谜。

四、RPC的好處

RPC 的主要功能目標是讓構建分布式計算(應用)更容易区端,在提供強大的遠程調(diào)用能力時不損失本地調(diào)用的語義簡潔性值漫。 為實現(xiàn)該目標,RPC 框架需提供一種透明調(diào)用機制讓使用者不必顯式的區(qū)分本地調(diào)用和遠程調(diào)用织盼。
服務化的一個好處就是杨何,不限定服務的提供方使用什么技術選型,能夠實現(xiàn)大公司跨團隊的技術解耦沥邻。
如果沒有統(tǒng)一的服務框架---RPC框架危虱,各個團隊的服務提供方就需要各自實現(xiàn)一套序列化、反序列化谋国、網(wǎng)絡框架槽地、連接池、收發(fā)線程芦瘾、超時處理捌蚊、狀態(tài)機等“業(yè)務之外”的重復技術勞動,造成整體的低效近弟。所以缅糟,統(tǒng)一RPC框架把上述“業(yè)務之外”的技術勞動統(tǒng)一處理,是服務化首要解決的問題

五祷愉、幾種協(xié)議

  • Socket使用時可以指定協(xié)議TCP窗宦、UDP等;
  • RIM使用Jrmp協(xié)議二鳄,Jrmp又是基于TCP/IP赴涵;
  • RPC底層使用Socket接口,定義了一套遠程調(diào)用方法订讼;
  • HTTP是建立在TCP上髓窜,不是使用Socket接口,需要連接方主動發(fā)數(shù)據(jù)給服務器,服務器無法主動發(fā)數(shù)據(jù)給客戶端寄纵。
  • Web Service提供的服務是基于web容器的鳖敷,底層使用http協(xié)議,類似一個遠程的服務提供者程拭,比如天氣預報服務定踱,對各地客戶端提供天氣預報,是一種請求應答的機制恃鞋,是跨系統(tǒng)跨平臺的崖媚。就是通過一個servlet,提供服務出去山宾。
  • hessian是一套用于建立web service的簡單的二進制協(xié)議至扰,用于替代基于XML的web service鳍徽,是建立在rpc上的资锰,hessian有一套自己的序列化格式將數(shù)據(jù)序列化成流,然后通過http協(xié)議發(fā)送給服務器阶祭。
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绷杜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子濒募,更是在濱河造成了極大的恐慌鞭盟,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瑰剃,死亡現(xiàn)場離奇詭異齿诉,居然都是意外死亡,警方通過查閱死者的電腦和手機晌姚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門粤剧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挥唠,你說我怎么就攤上這事抵恋。” “怎么了宝磨?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵弧关,是天一觀的道長。 經(jīng)常有香客問我唤锉,道長世囊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任窿祥,我火速辦了婚禮株憾,結果婚禮上,老公的妹妹穿的比我還像新娘壁肋。我一直安慰自己号胚,他們只是感情好籽慢,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著猫胁,像睡著了一般箱亿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弃秆,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天届惋,我揣著相機與錄音,去河邊找鬼菠赚。 笑死脑豹,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的衡查。 我是一名探鬼主播瘩欺,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拌牲!你這毒婦竟也來了俱饿?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤塌忽,失蹤者是張志新(化名)和其女友劉穎拍埠,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體土居,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡枣购,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了擦耀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棉圈。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖埂奈,靈堂內(nèi)的尸體忽然破棺而出迄损,到底是詐尸還是另有隱情,我是刑警寧澤账磺,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布芹敌,位于F島的核電站,受9級特大地震影響垮抗,放射性物質(zhì)發(fā)生泄漏氏捞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一冒版、第九天 我趴在偏房一處隱蔽的房頂上張望液茎。 院中可真熱鬧,春花似錦、人聲如沸捆等。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栋烤。三九已至谒养,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間明郭,已是汗流浹背买窟。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留薯定,地道東北人始绍。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像话侄,于是被迫代替她去往敵國和親亏推。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348