久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

FA1#微服務流控防護場景與應對措施的示例分析

175次閱讀
沒有評論

共計 1919 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要為大家展示了“FA1#微服務流控防護場景與應對措施的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“FA1# 微服務流控防護場景與應對措施的示例分析”這篇文章吧。

一、服務被過載調用

當服務 D 的某個接口服務被上游服務過載調用時,如果不對服務 D 加入保護,可能整體將服務 D 整體拖垮。在這種場景中,我們需要對服務 D 配置限流,以保護服務 D 不被整體沖跨。

FA1# 微服務流控防護場景與應對措施的示例分析
 

應對措施:針對服務提供方 D 配置流量防護規則,對進入服務 D 的流量進行控制,從而對服務 D 提供保護。觸發流控時可以有多重策略,例如:快速失敗、預熱模式、排隊等待、預熱模式 + 排隊等待。

快速失?。喊l生流控時直接拋出異常。

預熱模式:發生流控時,流量緩慢增加的一種模式,效果如下圖所示,流量 QPS 從 200 緩慢增加到 600。

FA1# 微服務流控防護場景與應對措施的示例分析
 

排隊等待:請求勻速通過,過多請求需要排隊,此時排隊有超時時間,超過排隊時間拋出流控異常。效果如下圖所示:請求 QPS 保持 1000 的勻速通過。

FA1# 微服務流控防護場景與應對措施的示例分析
 

預熱模式 + 排隊等待:這種模式是預熱和排隊等待的疊加模式,請求以勻速的方式緩慢增加。如下圖:請求從 0 緩慢增加到 500,勻速通過一段時間后,再增加到 1000。

FA1# 微服務流控防護場景與應對措施的示例分析
 
二、服務慢調用或故障

下面的場景 A 調用 B、A 調用 C、A 調用 D,當服務 B 服務不穩定時,服務 A 調用服務 B 發生了慢調用或者大量異常錯誤。這種場景,如果不干預,可能影響到 A 調用 C 和 A 調用 D 的狀況。

FA1# 微服務流控防護場景與應對措施的示例分析
 

應對措施:A 調用 B 配置熔斷降級規則,當服務 B 不穩定發生慢調用或者異常時,如果觸發閾值,將服務 B 的調用熔斷;從而保護了服務 A 調用 C、服務 A 調用 D 的正常情況。

熔斷效果:熔斷的實現通常通過斷路器實現,具體過程為:

當滿足慢調用比例、異常比例、異常數量閾值后,觸發熔斷(OPEN),在熔斷時長內拒絕所有請求當熔斷過了定義的熔斷時長,狀態由熔斷(OPEN)變為探測(HALF_OPEN)接下來的一個請求不發生慢調用或者異常,熔斷結束由探測狀態(HALF_OPEN)變為(CLOSED)接下來的一個請求發生慢調用或者異常,繼續熔斷,由探測狀態(HALF_OPEN)變為(OPEN)
   

   
三、服務資源被擠占

分布式鏈路中,如果某一條鏈路產生慢調用,對其他鏈路造成擠壓。除了上面提到配置熔斷降級外,可以通過線程并發控制來隔離。

下圖中有 3 條鏈路,其中鏈路 1 由于服務 E 的不穩定,產生了慢調用。

鏈路標號調用鏈鏈路 1 服務 A – 服務 D#Method1– 服務 E 鏈路 2 服務 B – 服務 D#Method2– 服務 F 鏈路 3 服務 C – 服務 D#Method2– 服務 G FA1# 微服務流控防護場景與應對措施的示例分析
 

鏈路 1 慢調用可能導致如下情況:

鏈路 1 線程數增多對服務 D 資源造成擠壓對服務 D 資源的過度擠壓,鏈路 2 和鏈路 3 造成不穩定極端情況導致整個服務 D 不可用,嚴重時引發雪崩

應對措施:通過對服務 D 的 MethodA1、MethodA2 的線程數并發設置規則,超過閾值時將會觸發阻斷,不再向下游調用,避免不可用引發雪崩。

并發控制效果 下圖中設置了調用方的并發線程數為 10,通過每分鐘的查詢可以看出,線程數一直保持在 10。

FA1# 微服務流控防護場景與應對措施的示例分析
 
四、數據過熱擠占資源

熱點數據,比如:大促時的熱銷產品、秒殺類產品等。如下圖所示,如果不對熱點商品下單流量進行管控,可能對其他商品造成擠壓;影響整個商品下單體驗。

FA1# 微服務流控防護場景與應對措施的示例分析
 

應對措施:通過對熱點參數測速,配置流控規則,超過閾值時觸發流控。例如:通過對入參產品 ID 進行測速,超過設置的閾值時,觸發流控,避免對其過度擠占資源。

五、通用防護分組措施

上面的現象中,無論是服務不穩定、還是被擠占、或者被過載調用。除了通過上述的防護措施外,可以對服務進行等級劃分并分組。

如下圖所示:服務 A 和服務 D 為核心服務、服務 B 和服務 C 為非核心服務。通過將服務 D 進行分組,分成了 1 組和 2 組。分組 1 只允許核心服務調用,分組 2 只允許非核心服務調用。

這樣做的好處:將流量進行物理隔離,避免由于非核心業務流量對核心業務流量造成擠壓、保護核心鏈路穩定性。

FA1# 微服務流控防護場景與應對措施的示例分析
 

分組措施 @1   通常可以更換注冊中心路徑實現,服務 A 和服務 D(分組 1)放在同一個注冊中心路徑(例如:soa-group1);服務 B、服務 C、服務 D(分組 2)放在另一個不同的注冊中心路徑(例如:soa-group2)。

分組措施 @2 通過對分組的服務節點打標實現,例如:服務 D(分組 1)節點被打標為 group1,服務 D(分組 2)節點被打標為 group2。在服務消費方訂閱節點時根據不同的分組篩選節點調用。

以上是“FA1# 微服務流控防護場景與應對措施的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計1919字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 大方县| 松江区| 定结县| 乌兰县| 定远县| 南皮县| 湾仔区| 灵石县| 芦山县| 西林县| 浪卡子县| 灵丘县| 五原县| 濉溪县| 潜山县| 舟曲县| 揭东县| 朝阳县| 田阳县| 清苑县| 乌兰县| 南召县| 平利县| 凤凰县| 肥城市| 芜湖市| 金阳县| 桦南县| 溆浦县| 盐亭县| 本溪市| 当阳市| 通江县| 涞源县| 翼城县| 张家口市| 南陵县| 广宗县| 无为县| 原阳县| 河曲县|