30.服務降級和服務熔斷

1谆趾、三個名詞

限流:限制并發(fā)的請求訪問量躁愿,超過閾值則拒絕;

降級:服務分優(yōu)先級沪蓬,犧牲非核心服務(不可用)彤钟,保證核心服務穩(wěn)定;從整體負荷考慮跷叉;

熔斷:依賴的下游服務故障觸發(fā)熔斷逸雹,避免引發(fā)本系統(tǒng)崩潰;系統(tǒng)自動執(zhí)行和恢復性芬。

2峡眶、服務熔斷

在微服務架構中,微服務之間的數(shù)據(jù)交互通過遠程調用完成植锉,微服務A調用微服務B和微服務C辫樱,微服務B和微服務C又調用其它的微服務,此時如果鏈路上某個微服務的調用響應時間過長或者不可用俊庇,那么對微服務A的調用就會占用越來越多的系統(tǒng)資源狮暑,進而引起系統(tǒng)崩潰鸡挠,導致“雪崩效應”。

服務熔斷是應對雪崩效應的一種微服務鏈路保護機制搬男。例如在高壓電路中拣展,如果某個地方的電壓過高,熔斷器就會熔斷缔逛,對電路進行保護备埃。同樣,在微服務架構中褐奴,熔斷機制也是起著類似的作用按脚。當調用鏈路的某個微服務不可用或者響應時間太長時,會進行服務熔斷敦冬,不再有該節(jié)點微服務的調用辅搬,快速返回錯誤的響應信息。當檢測到該節(jié)點微服務調用響應正常后脖旱,恢復調用鏈路堪遂。

在Spring Cloud框架里,熔斷機制通過Hystrix實現(xiàn)萌庆。Hystrix會監(jiān)控微服務間調用的狀況溶褪,當失敗的調用到一定閾值,缺省是5秒內(nèi)20次調用失敗践险,就會啟動熔斷機制竿滨。

服務熔斷解決如下問題: 1. 當所依賴的對象不穩(wěn)定時,能夠起到快速失敗的目的捏境;2. 快速失敗后,能夠根據(jù)一定的算法動態(tài)試探所依賴對象是否恢復毁葱。

3垫言、服務降級

服務降級是指 當服務器壓力劇增的情況下,根據(jù)實際業(yè)務情況及流量倾剿,對一些服務和頁面有策略的不處理或換種簡單的方式處理筷频,從而釋放服務器資源以保證核心業(yè)務正常運作或高效運作。說白了前痘,就是盡可能的把系統(tǒng)資源讓給優(yōu)先級高的服務凛捏。

資源有限,而請求是無限的芹缔。如果在并發(fā)高峰期坯癣,不做服務降級處理,一方面肯定會影響整體服務的性能最欠,嚴重的話可能會導致宕機某些重要的服務不可用示罗。所以惩猫,一般在高峰期,為了保證核心功能服務的可用性蚜点,都要對某些服務降級處理轧房。比如當雙11活動時,把交易無關的服務統(tǒng)統(tǒng)降級绍绘,如查看螞蟻深林奶镶,查看歷史訂單等等。

服務降級主要用于什么場景呢陪拘?當整個微服務架構整體的負載超出了預設的上限閾值或即將到來的流量預計將會超過預設的閾值時厂镇,為了保證重要或基本的服務能正常運行,可以將一些 不重要 或 不緊急 的服務或任務進行服務的 延遲使用 或 暫停使用藻丢。

降級的方式可以根據(jù)業(yè)務來剪撬,可以延遲服務,比如延遲給用戶增加積分悠反,只是放到一個緩存中残黑,等服務平穩(wěn)之后再執(zhí)行 ;或者在粒度范圍內(nèi)關閉服務斋否,比如關閉相關文章的推薦梨水。

實現(xiàn)服務降級需要考慮幾個問題

1)那些服務是核心服務,哪些服務是非核心服務

2)那些服務可以支持降級茵臭,那些服務不能支持降級疫诽,降級策略是什么

3)除服務降級之外是否存在更復雜的業(yè)務放通場景,策略是什么旦委?

自動降級分類

1)超時降級:主要配置好超時時間和超時重試次數(shù)和機制奇徒,并使用異步機制探測回復情況

2)失敗次數(shù)降級:主要是一些不穩(wěn)定的api,當失敗調用次數(shù)達到一定閥值自動降級缨硝,同樣要使用異步機制探測回復情況

3)故障降級:比如要調用的遠程服務掛掉了(網(wǎng)絡故障摩钙、DNS故障、http服務返回錯誤的狀態(tài)碼查辩、rpc服務拋出異常)胖笛,則可以直接降級。降級后的處理方案有:默認值(比如庫存服務掛了宜岛,返回默認現(xiàn)貨)长踊、兜底數(shù)據(jù)(比如廣告掛了,返回提前準備好的一些靜態(tài)頁面)萍倡、緩存(之前暫存的一些緩存數(shù)據(jù))

4)限流降級:秒殺或者搶購一些限購商品時身弊,此時可能會因為訪問量太大而導致系統(tǒng)崩潰,此時會使用限流來進行限制訪問量,當達到限流閥值佑刷,后續(xù)請求會被降級莉擒;降級后的處理方案可以是:排隊頁面(將用戶導流到排隊頁面等一會重試)、無貨(直接告知用戶沒貨了)瘫絮、錯誤頁(如活動太火爆了涨冀,稍后重試)。

原文

https://blog.csdn.net/zero__007/article/details/90732554

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末麦萤,一起剝皮案震驚了整個濱河市鹿鳖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壮莹,老刑警劉巖翅帜,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異命满,居然都是意外死亡涝滴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門胶台,熙熙樓的掌柜王于貴愁眉苦臉地迎上來歼疮,“玉大人,你說我怎么就攤上這事。” “怎么了寸莫?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長声功。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任吹散,我火速辦了婚禮,結果婚禮上八酒,老公的妹妹穿的比我還像新娘送浊。我一直安慰自己,他們只是感情好丘跌,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唁桩,像睡著了一般闭树。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荒澡,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天报辱,我揣著相機與錄音,去河邊找鬼单山。 笑死碍现,一個胖子當著我的面吹牛幅疼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播昼接,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼爽篷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了慢睡?” 一聲冷哼從身側響起逐工,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎漂辐,沒想到半個月后泪喊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡髓涯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年袒啼,在試婚紗的時候發(fā)現(xiàn)自己被綠了纬纪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡育八,死狀恐怖对途,靈堂內(nèi)的尸體忽然破棺而出髓棋,到底是詐尸還是另有隱情,我是刑警寧澤按声,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布膳犹,位于F島的核電站签则,受9級特大地震影響,放射性物質發(fā)生泄漏渐裂。R本人自食惡果不足惜豺旬,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柒凉。 院中可真熱鬧族阅,春花似錦、人聲如沸膝捞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鲤遥,卻和暖如春沐寺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盖奈。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工混坞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卜朗。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓拔第,卻偏偏與公主長得像,于是被迫代替她去往敵國和親场钉。 傳聞我的和親對象是個殘疾皇子蚊俺,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345