精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

系統設計:微服務重試機制

開發 架構
微服務重試很重要,因為可以避免一些網絡波動導致的請求失敗,提升服務穩定性。

為什么微服務重試機制很重要?

當我們單體應用時,所有的邏輯計算都在單一的進程中,除了進程斷電外幾乎不可能有處理失敗的情況。然而,當我們把單體應用拆分為一個個細分的子服務后,服務間的互相調用無論是RPC還是HTTP,都是依賴于網絡。

網絡是脆弱的,不時請求會出現抖動失敗。例如我們的 Server1 調用 Server2 進行下單時,可能網絡超時了,這個時候 Server1 就需要返回給用戶提示「網絡錯誤」,這樣我們的服務質量就下降了,可能會收到用戶的投訴吐槽,降低產品競爭力。

這也是為什么很多產品內部都建設接口維度的 SLA 指標,當成功率低于一定程度時需要和負責人績效掛鉤以此來推進產品的穩定性。

對于網絡抖動這種情況,解決的最簡單辦法之一就是重試。

重試機制

重試機制:同步 、異步模式

常見的重試主要有兩種模式:原地重試、異步重試。

原地重試很好理解,就是程序在調用下游服務失敗的時候重新發起一次;異步重試是將請求信息丟到某個 mq 中,后續有一個程序消費到這個事件進行重試。

總的來說,原地重試實現簡單,能解決大部分網絡抖動問題,但是如果是服務追求強一致性,并且希望在下游故障的時候不影響正常服務計算,這個時候可以考慮用異步重試,上游服務可快速響應用戶請求由異步消費者去完成重試。

重試算法

無論是異步還是同步模式,重試都有固定的幾個算法:

  • 線性退避:每次失敗固定等待固定的時間。
  • 隨機退避:每次失敗等待隨機的時間重試。
  • 指數退避:連續重試時,每次等待的時間都是前一次等待時間的倍數。
  • 綜合退避:結合多種方式,比如線性 + 隨機抖動、指數 + 隨機抖動。加上隨機抖動可以打散眾多服務失敗時對下游的重試請求,防止雪崩。

為什么需要等待下再重試?

因為網絡抖動或者下游負載高,馬上重試成功的概率必然遠遠小于稍等一會再重試,相當于是讓下游先喘一口氣。

重試風暴

在微服務架構中,務必要注意避免重試風暴的產生。那么,什么是重試風暴呢?

如圖所示,數據庫出現了負載過高的情況,這個時候 Server 3 對它的請求會失敗。但是因為配置了重試機制,Server 3 最多對數據庫發起了3次請求。然而,這個時候荒唐的事情就出現了,為了避免抖動上游的每個服務都設置了超時重試3次的機制,這樣明明是一次業務請求,在上述中由于有3個環節存在變成了對數據庫的 27 (3 ^(n)) 次請求!這對原本就要崩潰的數據庫,更是雪上加霜。

微服務架構通常一次請求會經過數個甚至數百個服務處理,如果每個都這樣重試,數據庫壓力稍微彪高一點本身沒啥問題,但是很可能就因為重試導致雪崩。

如何防止重試風暴

單實例限流

首先,我們接受請求的是單個實例(進程)中的線程,所以可以以單進程的粒度進行限流。

關于限流,我們常用的是令牌桶或者滑動窗口兩種實現,這里簡單實用滑動窗口實現。如下圖所示,每秒會產生一個Bucket,我們在Bucket里記錄這一秒內對下游某個接口的成功、失敗數量。進而可以統計出每秒的失敗率,結合失敗率及失敗請求數判斷是否需要重試,每個 Bucket 在一定時間后過期。

如果下游大面積失敗,這種時候是不適合重試的,我們可以配置一個比如失敗率超過10%不重試的策略,這樣在單機層面就可以避免很多不必要的重試。

規范重試狀態碼

鏈路層面防止重試的最好做法是只在最下游重試(我們上面圖的 Server3),Google SRE中指出了Google內部使用特殊錯誤碼的方式來實現:

  • 約定一個特殊的業務狀態碼,它表示失敗了,但是別重試。
  • 任何一個環節收到下游這個錯誤,不會重試,繼續透傳給上游。

通過這個模式,如果是數據庫抖動情況下,只有最下游的三個重試請求,上游服務判斷狀態碼知道不可重試不再重試。除此之外,在一些業務異常情況下也可通過狀態碼區分出無需重試的狀態。

這個方法可以有效避免重試風暴,但是缺陷是需要業務方強耦合上這個狀態碼的邏輯,一般需要公司層面做框架上的約束。

超時優化

在重試中,最頭疼的莫過于超時這種場景。我們知道網絡超時,有可能請求壓根沒到下游服務就產生了,也可能是已經到達下游并且被處理了,只是來不及返回,一個典型的兩軍問題。

關于超時的情況,顯然無法通過錯誤碼識別,例如 A -> B -> C -> D 情況,如果C故障了,B可以獲取到錯誤碼,并返回給 A,但是因為 A 請求 B 超時了,所以是獲取不到錯誤碼的,這個時候 A 又會發起重試。那么針對超時的情況有沒什么辦法做優化,避免無必要的重試呢?

我認為有幾個地方是可以做的:

上游重試的請求不重試

超時導致的重試請求,在請求中帶一個 Flag 標記。如果下游發現上游是因為超時而發起的請求,自己在請求下游時如果再超時出錯,不再重試。例如 A -> B -> C 時,A 請求 B 超時重試,那么重試時會帶上 Flag,B 發現 A 的重試請求中的 Flag,如果這個時候請求 C 失敗,那么也不再重試請求,這樣就避免了重試被放大。

合理設置各個環節超時時間

A -> B -> C,B -> C 加上超時最多是 1s 時間,那么 A -> B 的超時時間要 >= 1秒,否則可能 B 對 C 的重試還沒結束, A 就發起重試請求了。這類問題,我們可以通過分析離線數據發現環節中存在的不合理配置。

通過上述的優化,我們可以在一定程度上規避超時引發的重試風暴。

降低時延的重試

我們上文主要都在闡述為了保障請求 SLA 的重試以及規避重試風暴的手段,但是其實在實際應用過程中有一些低時延的業務場景也經常使用重試來優化,這個優化措施就是 backupRequest。

比方說用戶下單接口,我們希望更低的時延,因為延遲變高了用戶可能下單量就減少了,直接影響到公司的盈利。假設我們的接口時延 p95 是 300ms,也就是95%的用戶能在 300ms 內完成下單,雖然看起來很美好,但是可能存在 “長尾效應”,這尾部的 5% 對于業務來說也是至關重要的。

對于這種情況,常見的優化方案就是 backupRequest,簡單來說策略就是這樣的:

如果正常請求的超時時間是1s,那么當超時時間超過x ms(eg. 500ms)不等超時時間直接再發起一個相同的請求,如果舊的請求超時,新的請求正常落在300ms以內,那么我們這次請求不會超時且會在超時時間內完成。

這個機制對于時延敏感的業務非常有效,但是必須要保證請求是可重試的。

總結

這篇文章到這里就接近尾聲了,如果你堅持讀到這里,恭喜你已經掌握了微服務的重試機制,相信在工作中遇到的問題也都能游刃有余。下面我簡單做下總結:

  1. 微服務重試很重要,因為可以避免一些網絡波動導致的請求失敗,提升服務穩定性。
  2. 重試機制分為同步、異步兩種模式,各有各的特性,需要結合業務選擇。
  3. 常見的重試算法有線性退避、指數退避、隨機退避,以及結合其中兩種的綜合退避。
  4. 重試風暴,在微服務中是一大隱患,我們可以通過單機重試限流以及約定重試狀態碼來規避。
  5. 超時場景下的重試優化,上游因超時發起的流量,下游收到不再重復重試;合理配置鏈路超時時間。
  6. 針對時延敏感業務,可使用 backup request 減輕長尾效應。
責任編輯:姜華 來源: 今日頭條
相關推薦

2024-09-25 08:32:05

2022-11-14 08:19:59

重試機制Kafka

2021-02-20 10:02:22

Spring重試機制Java

2017-06-16 15:16:15

2017-07-02 16:50:21

2020-07-19 15:39:37

Python開發工具

2025-02-26 10:49:14

2025-09-30 01:55:00

SpringWebClientHTTP

2025-01-03 08:44:37

kafka消息發送策略

2023-10-27 08:20:12

springboot微服務

2023-11-27 07:44:59

RabbitMQ機制

2023-11-06 08:00:38

接口高可用機制

2025-05-28 01:15:00

Golang重試機制

2022-11-11 17:09:55

微服務RPC

2025-09-10 07:15:45

2025-04-18 03:00:00

2024-01-04 18:01:55

高并發SpringBoot

2025-09-01 07:40:59

2024-09-30 08:30:37

2025-02-27 09:35:22

點贊
收藏

51CTO技術棧公眾號

亚洲精品国产精品国自| 男人添女人下部视频免费| 男操女视频网站| 亚洲综合色站| 亚洲精品美女在线观看| 免费在线观看的毛片| gogo在线观看| 久久久综合视频| 亚洲tv在线观看| 久久久久99精品成人片我成大片| 日韩久久久久| 日韩国产欧美精品一区二区三区| 亚洲综合婷婷久久| 韩国精品一区| 亚洲精品大片www| 日本一区二区久久精品| 亚洲男人第一天堂| 蜜臀久久99精品久久久久久9 | 欧美r级在线| 成人app下载| 91深夜福利视频| 男人天堂视频在线| a91a精品视频在线观看| 欧美成人精品在线播放| 国产毛片欧美毛片久久久| 蜜桃久久久久| 日韩你懂的在线播放| 性生活免费在线观看| 绿色成人影院| 亚洲综合一区在线| 中文字幕在线乱| 9191在线| 国产欧美一区二区精品性色超碰| 国产精品乱子乱xxxx| a天堂在线视频| 久久精品久久精品| 国产精品高清在线| 国产91国语对白在线| 中文在线一区| 97精品视频在线观看| 久久久久无码国产精品| 中国精品18videos性欧美| 在线观看欧美日韩国产| 欧美 日韩 国产 成人 在线观看 | 亚洲精品中文字幕乱码三区不卡| 欧美黄色小说| 久久久美女毛片| 欧美日韩另类综合| 欧美午夜黄色| 久久久久成人黄色影片| 美女被啪啪一区二区| 日本精品专区| 久久视频一区二区| 欧美精品一区二区三区在线看午夜| 刘玥91精选国产在线观看| 国产成人精品免费| 国产激情一区二区三区在线观看| 午夜精品久久久久久久96蜜桃| 国产一区二区女| 99久久一区三区四区免费| www.久久伊人| www.av精品| 欧美久久在线| 97视频精彩视频在线观看| 欧美激情综合在线| 一区二区三区免费看| 黄a在线观看| 亚洲一区二区三区中文字幕| 日韩一级性生活片| 亚洲美女久久精品| 欧美性受xxxx| 日本特黄在线观看| 国产精品传媒| 亚洲欧美日韩一区二区三区在线| 色欲狠狠躁天天躁无码中文字幕| 99久久夜色精品国产亚洲96 | 五月激情六月丁香| 视频精品一区二区| 亚洲综合中文字幕在线观看| 国精产品乱码一区一区三区四区| 99riav一区二区三区| 日韩av电影免费在线观看| 看黄网站在线| 精品毛片三在线观看| www.色就是色| 亚洲3区在线| 亚洲区免费影片| 免费在线黄色网| 亚洲欧美日韩国产| 成人免费大片黄在线播放| 人妻无码中文字幕免费视频蜜桃| 久久你懂得1024| 国产又粗又长又爽视频| 在线观看网站免费入口在线观看国内| 欧美三级乱人伦电影| 久久久久无码精品| 国内成人自拍| 久久欧美在线电影| 亚洲字幕av一区二区三区四区| 国产成人综合在线观看| 日本视频精品一区| 丁香花在线高清完整版视频| 欧美在线免费观看亚洲| 91传媒理伦片在线观看| 97精品视频| 韩国福利视频一区| 一级片在线观看视频| 26uuu欧美日本| 国产免费内射又粗又爽密桃视频 | 亚洲自拍另类欧美丝袜| 黄色毛片在线看| 亚洲成在人线在线播放| 日韩欧美国产片| 精品影片在线观看的网站| 欧美xxxx做受欧美.88| 亚洲av无码乱码国产精品fc2| 国产成人精品亚洲日本在线桃色| 亚洲一二三区精品| 亚洲第一影院| 精品视频久久久久久| 青草草在线视频| 久久草av在线| 日韩中文一区二区三区| 日韩伦理福利| 亚洲精品久久久久中文字幕二区 | av网在线观看| 日韩欧美精品免费在线| 亚洲国产第一区| 激情视频一区| 岛国一区二区三区高清视频| 超碰在线最新| 欧美高清你懂得| 女教师淫辱の教室蜜臀av软件| 美女黄网久久| 麻豆精品蜜桃一区二区三区| 蜜桃麻豆影像在线观看| 精品av久久707| 国产精品7777| 99久久777色| 精品视频在线观看一区| 岛国成人av| 久久久视频精品| 高清毛片aaaaaaaaa片| 亚洲国产一区二区三区| 中文字幕第10页| 欧美破处大片在线视频| 97se国产在线视频| 色帝国亚洲欧美在线| 欧美va亚洲va香蕉在线 | 欧美丝袜一区二区| 久久无码人妻精品一区二区三区 | 国产精品久久久久久久久男| 精品无人乱码| 欧美三级日韩在线| 国产喷水在线观看| 国产精品一区专区| 久久久久久久久久伊人| 亚洲一区二区三区免费| 欧美黑人性视频| 天堂av一区二区三区| 黑人欧美xxxx| av中文字幕免费观看| 日韩精品国产精品| 亚洲一区二区三区色| 国产精品高清一区二区| 欧美精品福利在线| 飘雪影院手机免费高清版在线观看| 色婷婷亚洲精品| 日韩av毛片在线观看| 国产一区在线不卡| 人妻夜夜添夜夜无码av| 九九热爱视频精品视频| 国产精品亚洲欧美导航| 菠萝菠萝蜜在线视频免费观看| 精品久久久久久久人人人人传媒| 日韩精品视频免费播放| 国产日韩成人精品| 国产探花在线观看视频| 国产日韩高清一区二区三区在线| 日本一区二区视频| 国产在线一区不卡| 欧美与黑人午夜性猛交久久久| 国产日本在线| 精品美女在线观看| 亚洲欧美一二三区| 一区二区成人在线观看| 久操视频免费看| 国产一区二区精品久久99| 久艹视频在线免费观看| 欧美在线电影| 国产高清精品一区二区三区| 欧美国产日韩电影| 欧美黑人性生活视频| 777电影在线观看| 精品欧美乱码久久久久久| 羞羞色院91蜜桃| 亚洲成人久久影院| 永久av免费网站| 久久精品人人爽人人爽| 岛国大片在线免费观看| 久热re这里精品视频在线6| 乱熟女高潮一区二区在线| 国产中文精品久高清在线不| 国产91亚洲精品一区二区三区| 91精品影视| 性欧美视频videos6一9| 很黄的网站在线观看| 亚洲午夜色婷婷在线| 日韩在线一区二区三区四区| 欧美日韩第一区日日骚| 日本黄色一级视频| 亚洲成人免费影院| 欧美久久久久久久久久久久| 国产精品久久久久影院色老大| 欧美亚一区二区三区| 成人激情文学综合网| av在线免费看片| 日韩精品久久理论片| 北条麻妃69av| 亚洲国产欧美国产综合一区| 男同互操gay射视频在线看| 成人激情诱惑| 日本一区二区三区免费看| 性人久久久久| 国产综合av一区二区三区| 日韩成人18| 91久久精品国产91久久性色| 全球最大av网站久久| 国产成人福利视频| 欧美日韩国产观看视频| 久久久久久久97| 丁香花高清在线观看完整版| 久久久极品av| av网站导航在线观看免费| 日韩亚洲精品电影| 九色porny丨首页在线| www.日韩系列| 国产视频中文字幕在线观看| 久久久精品久久久久| 日本在线人成| 久久精品中文字幕一区| 免费在线看黄色| 久久久国产一区| 哥也色在线视频| 欧美精品制服第一页| 特级毛片在线| 欧美多人爱爱视频网站| av日韩国产| 欧美一二三视频| 成人福利av| 国产精品成人播放| 久久精品资源| 成人亲热视频网站| 日韩欧美高清一区二区三区| 99在线视频播放| 久久夜色精品国产噜噜av小说| 国产精品免费一区二区三区观看| 北条麻妃在线一区二区免费播放| 国产精品一码二码三码在线| 蜜桃一区av| 欧美一区二区三区电影在线观看| 俺要去色综合狠狠| 日本福利视频导航| 欧美日韩国产欧| 欧美成人一区二区在线观看| 日韩成人精品在线| 日本成人在线免费观看| 成人精品小蝌蚪| 欧美高清性xxxx| 国产精品午夜免费| 朝桐光av在线| 懂色av一区二区三区| 中文字幕丰满人伦在线| 欧美一级理论片| 五月婷婷综合久久| 国产亚洲精品美女| 午夜成年人在线免费视频| 午夜精品一区二区三区在线视| 怡红院成人在线| 亚洲自拍偷拍一区| 欧美绝顶高潮抽搐喷水合集| 天天综合色天天综合色hd| 在线观看国产精品入口| 国产淫片免费看| 久久99精品视频| 成人手机在线免费视频| 国产精品久久久久精k8| 日韩精品国产一区二区| 欧美日韩一卡二卡三卡| 免费看黄色一级视频| 国产一区二区三区免费视频| 18+视频在线观看| 日本国产欧美一区二区三区| 精品国产亚洲一区二区三区在线 | 免费在线观看你懂的| 18涩涩午夜精品.www| 97人人澡人人爽人人模亚洲| 欧美日韩国产综合一区二区三区 | 日韩欧美国产免费| 国产乱码一区二区三区| 国产三级av在线播放| 亚洲国产综合色| av中文字幕第一页| 在线播放日韩专区| 黄色在线观看www| 亚洲一区二区在线| 超碰成人久久| 久久网站免费视频| 国产成+人+日韩+欧美+亚洲 | 舔着乳尖日韩一区| 国产乱码一区二区| 尤物tv国产一区| 亚洲风情在线资源| 国产精品v欧美精品v日韩| 欧美高清视频手机在在线| 男人操女人免费软件| 丁香婷婷综合五月| 国产av无码专区亚洲av毛网站| 欧美午夜一区二区三区| 全部免费毛片在线播放网站| 高清视频欧美一级| 日本精品视频| 日本三日本三级少妇三级66| 免费高清在线一区| av黄色在线免费观看| 色综合网色综合| 日韩亚洲视频在线观看| 午夜精品久久久久久久99黑人| 免费一级欧美片在线观看网站| 伊人精品久久久久7777| 蜜桃av一区二区| 貂蝉被到爽流白浆在线观看| 在线看国产一区二区| 国产在线你懂得| 日韩美女毛茸茸| 九一国产精品| 熟妇人妻无乱码中文字幕真矢织江| 91美女福利视频| 欧美一级片免费在线观看| 日韩成人网免费视频| 少妇在线看www| 免费影院在线观看一区| 性伦欧美刺激片在线观看| 欧美bbbbb性bbbbb视频| 丁香五六月婷婷久久激情| 欧美日本网站| 国产精品久久久久秋霞鲁丝| 色婷婷色综合| 九九热视频免费| 尤物在线观看一区| 人人妻人人澡人人爽人人欧美一区| 国语自产精品视频在线看抢先版图片 | 亚洲伦伦在线| 中文字幕在线看高清电影| 日本高清免费不卡视频| 风间由美一区| 成人国内精品久久久久一区| 中文字幕一区二区av| 成人啪啪18免费游戏链接| 亚洲成av人影院在线观看网| 亚欧洲精品视频| 国产精品女主播| 雨宫琴音一区二区三区| 亚洲自拍偷拍精品| 91国产福利在线| 成人video亚洲精品| 国产伦精品一区二区三区| 久久综合亚州| 人人澡人人澡人人看| 亚洲国产成人精品女人久久久 | 国产成人免费视频精品含羞草妖精| 国产真实乱偷精品视频| 亚洲图片欧洲图片av| 精品国模一区二区三区欧美| 日韩视频免费播放| 欧美国产1区2区| 亚洲精品久久久久久动漫器材一区| 97精品国产aⅴ7777| 成人影视亚洲图片在线| 久草免费资源站| 在线一区二区三区四区| 国产剧情在线| 麻豆久久久av免费| 国产一区二区三区四| 综合激情网五月| 日韩中文在线中文网三级| 果冻天美麻豆一区二区国产| 欧美日韩在线观看不卡| 亚洲成av人片在线| 三区四区在线视频| 精品不卡在线| 狠狠狠色丁香婷婷综合久久五月| 国内免费精品视频| 久久天天躁狠狠躁老女人| 神马香蕉久久| 国产大学生av| 精品视频一区 二区 三区| 华人av在线| 国产青草视频在线观看| 国产精品天美传媒|