SpringCloud RestTemplate&Ribbon&OpenFeign

一臭增、網(wǎng)絡(luò)模型介紹

1.1)OSI的七層模型

發(fā)送方從應(yīng)用層開始使用一直到物理層誊抛,接收端從物理層開始處理一直到應(yīng)用層——比如Dubbo的Provider發(fā)送從第一層到第十層瞎领,Consumer接收從第十層到第一層

1.2)每一層都工作著不同設(shè)備

舉例加強(qiáng)印象,比如收購(gòu)上面圖中描述的是收購(gòu)端做的事荤西,而被收購(gòu)端會(huì)從最底層的飛機(jī)/貨車開始接收逐層向上

1.3)隨之出現(xiàn)的問題

Http位于第七層應(yīng)用層,RPC處于第四層傳輸層觅丰;RPC相較于Http優(yōu)點(diǎn)在于層數(shù)低傳輸效率更高妇萄,缺點(diǎn)在于必需相同語(yǔ)言進(jìn)行通信

SpringCloud更傾向于Http進(jìn)行通信冠句,實(shí)現(xiàn)了語(yǔ)言的解耦懦底,只需要匹配請(qǐng)求接口路徑即可聚唐。

但是在微服務(wù)中很多情況下的請(qǐng)求不是前端觸發(fā)的杆查,比如下訂單崖蜜,請(qǐng)求從前端打到訂單服務(wù)纳猪,到了訂單服務(wù)內(nèi)部邏輯需要請(qǐng)求庫(kù)存服務(wù)。這就發(fā)展出一個(gè)隔離層搏明,將Web三層架構(gòu)中表現(xiàn)層分解為(Controller層用于和用戶進(jìn)行Http通信)以及(微服務(wù)內(nèi)部進(jìn)行RPC通信)——大部分公司外網(wǎng)使用Http星著,內(nèi)網(wǎng)使用RPC(較少用OpenFeign)

二虚循、RestTemplate

2.1)什么是RestTemplate

2.2)使用RestTemplate

ribbon-producer

ribbo-consumer的pom.xml一樣
加port是為了后續(xù)演示Ribbon的時(shí)候觀察請(qǐng)求具體打到哪個(gè)服務(wù)

ribbon-consumer

這種通過(guò)Ip+Port硬編碼的方式?jīng)]法在線上服務(wù)進(jìn)行靈活的修改茎刚,所以引入了服務(wù)發(fā)現(xiàn)膛锭。consumer通過(guò)應(yīng)用名獲取服務(wù)中心該應(yīng)用名下的所有provider列表初狰,這樣有出現(xiàn)了如何選擇列表中的哪一個(gè)provider發(fā)送請(qǐng)求跷究,由此引入了負(fù)載均衡俊马。負(fù)載均衡有兩種柴我,一種是由客戶端自己實(shí)現(xiàn)(缺點(diǎn)是不同的語(yǔ)言都需要寫一套負(fù)載均衡算法)艘儒;一種是通過(guò)引入ribbon界睁,客戶端將請(qǐng)求發(fā)送給ribbon由ribbon負(fù)責(zé)具體的負(fù)載均衡策略

三逾礁、Ribbon

3.1)什么是Ribbon

3.2)微服務(wù)中的Ribbon

nacos-discovery的jar包引入自動(dòng)包含了netflix-ribbon

DiscoveryClient + 自實(shí)現(xiàn)負(fù)載均衡 + RestTemplate

LoadBalancerClient + RestTemplate

輪詢

@LoadBalanced + RestTemplate

輪詢

3.3)Ribbon實(shí)現(xiàn)負(fù)載均衡原理

默認(rèn)是RoundRobinRule

3.4)Ribbon的負(fù)載均衡策略

自定義負(fù)載均衡策略

配置完重啟ribbon-consumer
隨機(jī)請(qǐng)求到不同ip

Ribbon+RestTemplate雖然可以比較少代碼量實(shí)現(xiàn)A服務(wù)調(diào)用B服務(wù)墙杯,還是要一個(gè)請(qǐng)求路徑然后標(biāo)注返回值霍转,不像RPC一樣從A服務(wù)調(diào)用B服務(wù)感覺像調(diào)用本地接口避消。由此引入了非常像RPC的OpenFeign

四、OpenFeign

4.1)什么是OpenFeign

4.2)OpenFeign的具體實(shí)操

使用OpenFeign實(shí)現(xiàn)服務(wù)間的請(qǐng)求

openfeign-producer

openfeign-consumer一樣
openfeign-consumer除了名稱其它一樣

openfeign-consumer

這里openfeign-producer和openfeign-consumer都創(chuàng)建了User對(duì)象婶溯,在實(shí)際場(chǎng)景中一般直接引入對(duì)方服務(wù)的Common包使用包中的User對(duì)象

傳遞基本類型參數(shù)

@RequestParam

傳遞基本類型參數(shù)——路徑

@PathVariable

傳遞對(duì)象類型參數(shù)

傳遞數(shù)組類型參數(shù)

傳遞集合類型參數(shù)

OpenFeign返回值處理

測(cè)試OpenFeign默認(rèn)請(qǐng)求超時(shí)時(shí)間

修改默認(rèn)請(qǐng)求超時(shí)時(shí)間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末财忽,一起剝皮案震驚了整個(gè)濱河市即彪,隨后出現(xiàn)的幾起案子祖凫,更是在濱河造成了極大的恐慌酬凳,老刑警劉巖宁仔,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翎苫,死亡現(xiàn)場(chǎng)離奇詭異煎谍,居然都是意外死亡呐粘,警方通過(guò)查閱死者的電腦和手機(jī)转捕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)辕万,“玉大人渐尿,你說(shuō)我怎么就攤上這事砖茸∮嬲茫” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)尼夺。 經(jīng)常有香客問我炒瘸,道長(zhǎng)顷扩,這世上最難降的妖魔是什么隘截? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任婶芭,我火速辦了婚禮犀农,結(jié)果婚禮上呵哨,老公的妹妹穿的比我還像新娘贵扰。我一直安慰自己戚绕,他們只是感情好舞丛,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布球切。 她就那樣靜靜地躺著吨凑,像睡著了一般鸵钝。 火紅的嫁衣襯著肌膚如雪庐镐。 梳的紋絲不亂的頭發(fā)上必逆,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天粟矿,我揣著相機(jī)與錄音损拢,去河邊找鬼探橱。 笑死申屹,一個(gè)胖子當(dāng)著我的面吹牛绘证,可吹牛的內(nèi)容都是我干的隧膏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼嚷那,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼胞枕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起魏宽,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤决乎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后派桩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體构诚,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年铆惑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了范嘱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡员魏,死狀恐怖丑蛤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撕阎,我是刑警寧澤受裹,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站虏束,受9級(jí)特大地震影響棉饶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镇匀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一砰盐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坑律,春花似錦岩梳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至宫屠,卻和暖如春列疗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浪蹂。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工抵栈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坤次。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓古劲,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親缰猴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子产艾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

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