四.Spring Cloud斷路器實踐(Hystrix)

開宗明義
在微服務(wù)架構(gòu)中,根據(jù)業(yè)務(wù)來拆分成一個個的服務(wù)芯咧,服務(wù)與服務(wù)之間可以相互調(diào)用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign來調(diào)用始腾。為了保證其高可用桶雀,單個服務(wù)通常會集群部署。由于網(wǎng)絡(luò)原因或者自身的原因改备,服務(wù)并不能保證100%可用控漠,如果單個服務(wù)出現(xiàn)問題,調(diào)用這個服務(wù)就會出現(xiàn)線程阻塞,此時若有大量的請求涌入盐捷,Servlet容器的線程資源會被消耗完畢偶翅,導(dǎo)致服務(wù)癱瘓。服務(wù)與服務(wù)之間的依賴性碉渡,故障會傳播聚谁,會對整個微服務(wù)系統(tǒng)造成災(zāi)難性的嚴(yán)重后果,這就是服務(wù)故障的“雪崩”效應(yīng)
Netflix開源了Hystrix組件滞诺,實現(xiàn)了斷路器模式形导,SpringCloud對這一組件進行了整合。 在微服務(wù)架構(gòu)中习霹,一個請求需要調(diào)用多個服務(wù)是非常常見的
較底層的服務(wù)如果出現(xiàn)故障朵耕,會導(dǎo)致連鎖故障。當(dāng)對特定的服務(wù)的調(diào)用的不可用達到一個閥值(Hystric 是5秒20次) 斷路器將會被打開
斷路打開后淋叶,可用避免連鎖故障阎曹,fallback方法可以直接返回一個固定值

1 在ribbon中使用斷路器

1.1 在service-ribbon的pom.xml文件中添加hystrix的依賴


Screenshot from 2018-02-22 00-05-01.png

1.2 在啟動類ServiceRibbonApplication 加@EnableHystrix注解開啟Hystrix


Screenshot from 2018-02-22 00-06-38.png

1.3 改造HelloService類,在hiService方法上加上@HystrixCommand注解煞檩。該注解對該方法創(chuàng)建了熔斷器的功能处嫌,并指定了fallbackMethod熔斷方法,熔斷方法直接返回了一個字符串斟湃,字符串為”hi,”+name+”,sorry,error!”


Screenshot from 2018-02-22 00-14-18.png

1.4 關(guān)閉service-hi訪問localhost:8768/hi?name=Silent-Y熏迹,返回預(yù)期結(jié)果,說明當(dāng) service-hi 工程不可用的時候桐早,service-ribbon調(diào)用 service-hi的API接口時癣缅,會執(zhí)行快速失敗厨剪,直接返回一組字符串哄酝,而不是等待響應(yīng)超時,這很好的控制了容器的線程阻塞


Screenshot from 2018-02-22 00-15-16.png

2 在feign中使用斷路器

2.1 feign是自帶斷路器的祷膳,在D版本的Spring Cloud中陶衅,它沒有默認(rèn)打開,需要在配置文件中加入
feign.hystrix.=true
配置打開

2.2 基于service-feign工程進行改造直晨,需要在FeignClient的SchedualServiceHi接口的注解中加上fallback的指定類


Screenshot from 2018-02-22 00-20-51.png

2.2.1 SchedualServiceHiHystric需要實現(xiàn)SchedualServiceHi 接口搀军,并注入到Ioc容器中


Screenshot from 2018-02-22 00-28-51.png

2.3 訪問localhost:8769/hi?name=Silent-Y,返回預(yù)期結(jié)果


Screenshot from 2018-02-22 00-30-51.png

3 Hystrix Dashboard (斷路器:Hystrix 儀表盤)

ribbon與feign的改造相同勇皇,以下基于ribbon改造

3.1 pom.xml文件中添加以下依賴


Screenshot from 2018-02-22 00-39-09.png

3.2 啟動類中加入@EnableHystrixDashboard注解罩句,開啟hystrixDashboard


Screenshot from 2018-02-22 00-40-57.png

3.3 訪問localhost:8768/hystrix界面


Screenshot from 2018-02-22 01-13-47.png

3.4 點擊monitor stream,進入下一個界面


Screenshot from 2018-02-22 01-15-31.png

3.5 訪問localhost:8768/hi?name=Silent-Y出現(xiàn)監(jiān)控界面


Screenshot from 2018-02-22 01-20-31.png

未完待續(xù)......

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末敛摘,一起剝皮案震驚了整個濱河市门烂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖屯远,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔓姚,死亡現(xiàn)場離奇詭異,居然都是意外死亡慨丐,警方通過查閱死者的電腦和手機坡脐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來房揭,“玉大人备闲,你說我怎么就攤上這事⊥北” “怎么了浅役?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長伶唯。 經(jīng)常有香客問我觉既,道長,這世上最難降的妖魔是什么乳幸? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任瞪讼,我火速辦了婚禮,結(jié)果婚禮上粹断,老公的妹妹穿的比我還像新娘符欠。我一直安慰自己,他們只是感情好瓶埋,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布希柿。 她就那樣靜靜地躺著,像睡著了一般养筒。 火紅的嫁衣襯著肌膚如雪曾撤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天晕粪,我揣著相機與錄音挤悉,去河邊找鬼。 笑死巫湘,一個胖子當(dāng)著我的面吹牛装悲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尚氛,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼诀诊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了阅嘶?” 一聲冷哼從身側(cè)響起属瓣,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奠涌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宪巨,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年溜畅,在試婚紗的時候發(fā)現(xiàn)自己被綠了捏卓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡慈格,死狀恐怖怠晴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浴捆,我是刑警寧澤蒜田,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站选泻,受9級特大地震影響冲粤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜页眯,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一梯捕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窝撵,春花似錦傀顾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赐劣,卻和暖如春嫉拐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隆豹。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工椭岩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茅逮,地道東北人璃赡。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像献雅,于是被迫代替她去往敵國和親碉考。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

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