自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微服務(wù)的戰(zhàn)爭:級聯(lián)故障和雪崩

開發(fā) 架構(gòu)
“微服務(wù)的戰(zhàn)爭” 是一個關(guān)于微服務(wù)設(shè)計思考的系列題材,主要是針對在微服務(wù)化后所出現(xiàn)的一些矛盾/沖突點,不涉及具體某一個知識點深入。如果你有任何問題或建議,歡迎隨時交流。

[[339932]]

本文轉(zhuǎn)載自微信公眾號「腦子進煎魚了」,作者陳煎魚。轉(zhuǎn)載本文請聯(lián)系腦子進煎魚了公眾號。   

“微服務(wù)的戰(zhàn)爭” 是一個關(guān)于微服務(wù)設(shè)計思考的系列題材,主要是針對在微服務(wù)化后所出現(xiàn)的一些矛盾/沖突點,不涉及具體某一個知識點深入。如果你有任何問題或建議,歡迎隨時交流。

在《微服務(wù)的戰(zhàn)爭:統(tǒng)一且標(biāo)準(zhǔn)化》中,經(jīng)過好幾周與不同業(yè)務(wù)組不同事業(yè)部的跨部門討論后,終于把初始的標(biāo)準(zhǔn)化方案給定下來了。

大家歡快的使用起了內(nèi)部的統(tǒng)一框架,瘋狂的創(chuàng)建起了新服務(wù),沒隔多久服務(wù)調(diào)用鏈就變成了下圖:

 

服務(wù)間存在多次內(nèi)部調(diào)用,服務(wù) A =》服務(wù) B =》服務(wù) C =》服務(wù)D,而 服務(wù) E =》 服務(wù) B,服務(wù) F =》服務(wù) E,也就是存在著多個流量入口,且依賴相同的服務(wù)。

背景

服務(wù)與服務(wù)中,總存在業(yè)務(wù)服務(wù),公共服務(wù),基礎(chǔ)服務(wù)等類型。但在某一個夜晚,突然發(fā)現(xiàn) BFF 調(diào)用后端服務(wù)開始逐漸不正常,客戶給你截圖反饋問題,你發(fā)現(xiàn)有點問題:

 

單從表現(xiàn)來看,你發(fā)現(xiàn)是 BFF 調(diào)用服務(wù) A 極度緩慢,也不知道怎么了...正當(dāng)以為是服務(wù) A 出問題,想著萬能重啟一下時。你在日志平臺和鏈路追蹤系統(tǒng)一看,發(fā)現(xiàn)了大量的錯誤日志和緩慢,讓你略微震驚,一時間不知道從何下手。

這可怎么辦?

級聯(lián)故障和雪崩

實際上這是一次很經(jīng)典的級聯(lián)故障,最終導(dǎo)致系統(tǒng)雪崩的情景再現(xiàn)。單從上述拓?fù)鋪砜?,問題點之一在于服務(wù) B:

 

服務(wù) B 本身作為服務(wù) A 和服務(wù) F 的兩個流量入口必經(jīng)之處,想必至少是一個公共服務(wù),但他也依賴了其他多個服務(wù)。因此若服務(wù) C 和服務(wù) D 其中一個有問題,在沒有熔斷措施的情況下,就出現(xiàn)級聯(lián)故障,系統(tǒng)逐漸崩盤,最后雪崩:

 

服務(wù) D 所依賴的外部接口出現(xiàn)了故障,而他并沒有做任何的控制,因此擴散到了所有調(diào)用到他的服務(wù),自然也就包含服務(wù) B,因此最終出現(xiàn)系統(tǒng)雪崩。

這種最經(jīng)典的是出現(xiàn)在默認(rèn) Go http client 調(diào)用沒有設(shè)置 Timeout,從而只要出現(xiàn)一次故障,就足矣讓記住這類 “坑”,畢竟崩的 ”慢“,錯誤日志還多。

解決方法

常見的方式是根據(jù)特定的規(guī)則/規(guī)律進行熔斷和降級,避免請求發(fā)生堆積:

  • 超時時間控制。
  • 慢調(diào)用比例。
  • 錯誤比例。
  • 自適應(yīng)(例如:負(fù)載情況等)。

當(dāng)然,這也只是壯士斷腕,后續(xù)措施還包含監(jiān)控告警,通知對應(yīng)的開發(fā)人員來處理。且需提前對被降級的模塊進行業(yè)務(wù)邏輯進行處理等等,這樣才能夠比較柔和且快速地度過這一次危機。

總結(jié)

 

在分布式應(yīng)用中,級聯(lián)故障和雪崩是非常常見的,一些開發(fā)同學(xué)在模塊設(shè)計時可能并沒有意識到這塊的問題,在微服務(wù)化后會一個不留神就碰到,因為其調(diào)用鏈變得特別的長且多。因此建議配套設(shè)施和限流熔斷措施都應(yīng)該及時跟上,否則面對一大堆的錯誤日志還是很無奈的。

 

責(zé)任編輯:武曉燕 來源: 腦子進煎魚了
相關(guān)推薦

2023-10-04 19:01:44

微服務(wù)雪崩故障

2020-09-02 08:10:33

微服務(wù)標(biāo)準(zhǔn)化設(shè)計

2020-08-26 08:21:59

微服務(wù)

2021-03-16 08:31:59

微服務(wù)Sentinel雪崩效應(yīng)

2020-09-11 09:44:04

微服務(wù)分布式鏈路

2021-06-08 07:04:45

Service Mes微服務(wù)熔斷

2022-01-24 10:26:46

Kubernetes微服務(wù)

2009-11-02 15:17:33

2010-08-29 21:39:35

DHCP服務(wù)

2017-09-27 13:56:58

微服務(wù)架構(gòu)故障網(wǎng)絡(luò)

2020-08-18 07:00:00

微服務(wù)開發(fā)架構(gòu)

2018-12-06 14:56:46

微服務(wù)隔離熔斷

2022-04-29 08:22:16

微服務(wù)接口容錯

2017-03-07 11:02:03

Kubernetes微服務(wù)DevOps

2023-04-26 07:36:44

緩存雪崩服務(wù)器架構(gòu)

2020-09-26 10:56:33

服務(wù)器熔斷服務(wù)隔離

2023-12-14 08:00:00

數(shù)據(jù)庫微服務(wù)開發(fā)

2022-08-03 15:15:22

分布式系統(tǒng)數(shù)據(jù)庫

2010-09-02 09:45:07

SQL刪除

2023-10-08 12:14:42

Sentinel流量控制
點贊
收藏

51CTO技術(shù)棧公眾號