全部產品
Search
文件中心

Alibaba Cloud Service Mesh:ASM助力進口電商龍頭實現進階灰階發布

更新時間:Jul 22, 2025

在應用規模日漸龐大的今天,高效地管理分布式應用的發布是一項前所未有的挑戰,如何對單一應用進行獨立的灰階?通過服務網格管理應用

背景資訊

客戶Z是一家進口電商的領先企業,隨著業務增長,服務架構日益複雜,這對系統的穩定性提出了更高的挑戰。由於微服務數量眾多且由多個不同團隊維護,客戶Z一直採取各團隊獨立負責發布和復原。在需要同時發布多個應用時,團隊需要手動協調發布順序。此外,由於缺乏有效灰階發布機制,一旦某個應用出現問題,可能會影響所有使用者。

問題與挑戰

  • 缺乏灰階發布機制。

    • 產品架構中的微服務涉及的團隊眾多,各自獨立管理髮布工作流程,但現有調研發現,其他技術體系的灰階機制並不支援應用的獨立灰階發布。

    • 希望能夠按使用者維度實施灰階發布,即每個使用者要麼完全進入灰階版本,要麼完全進入非灰階版本。

  • 生產環境中的測試需求。

    • 希望能夠在生產環境中進行測試,即在特定應用的流量調用時,能夠路由到該應用的測試版本。這需要基於使用者資訊將流量引導至特定應用的測試工作負載。

  • 故障排查困難。

    • 當前的調用鏈異常複雜,各個應用的日誌和監控缺乏統一性,導致在發現異常時難以快速定位問題,故障排查周期過長。

  • 流量防護不足。

    • 作為電商企業,在促銷活動等高峰時段,過高的全域QPS對核心業務造成重大衝擊,一旦發生過載,容易引發級聯故障,導致系統大規模不可用。目前只能在大促前儘可能進行冗餘部署,然而這種方式的資源使用率較低。團隊內沒有統一的限流和熔斷實踐,主要依賴各應用研發團隊自行實現。

    • 部分使用者佔用系統資源過多,造成資源分派不公平,目前尚未有有效解決方案。

  • LLM流量治理。

    • 對於接入阿里雲百鍊、OpenAI等LLM服務的部分應用,API Key管理存在困難,暴露給應用團隊容易導致濫用並增加替換難度。

    • 應用已接入DeepSeek,但在高並發時容易發生繁忙故障,希望在DeepSeek失敗時能夠自動切換降級到OpenAI服務。

解決方案

啟用服務級灰階發布

通過啟用服務級灰階發布,客戶Z可以:

  • 進行應用粒度的灰階發布和使用者維度灰階,將軟體故障平均影響範圍縮小90%。

    • 生產環境從內部帳號開始,再到使用者帳號進行漸進式灰階發布,可以有效控制出現問題時的影響範圍,且可以立即回退到穩定版本,控制影響時間長度。

  • 在生產環境部署與使用者流量隔離的“生產測試環境”,實現Test in Production,顯著減少了因生產環境與測試環境差異(相關許可權問題、配置問題等)導致的上線故障。

使用者級灰階發布是ASM的一個典型情境。在這種情境中,單個應用可以獨立於其他應用進行灰階發布。例如,應用A可以以1:9的比例分配流量到不同版本,而與此同時,應用B則可以以3:7的比例分配流量到不同版本,可以同時存在任意個數的獨立灰階發布應用,各個應用的發布動作和進程互不干擾。

在網關配置請求打標規則時,可以在入口處根據配置的規則為請求打上多個標識。在後續的完整調用鏈中,ASM網格代理將協助應用持續透傳這些標識,確保每個請求都攜帶入口網關添加的所有標籤。同時,可以通過配置路由規則來使用這些標籤:當請求匹配到特定標籤時,將執行相應的路由操作。

如下圖,對應啟用服務級灰階發布後,客戶Z的產品架構。

  1. 每個業務團隊都可以在網關上應用打標規則,只需要確保標籤名稱不衝突即可。

  2. 通過ASM提供的HashTagging網關外掛程式,可以實現基於要求標頭的值進行雜湊,根據雜湊值命中的範圍打標的能力,通過該能力可以輕鬆實現按使用者ID灰階發布。

  3. 通過虛擬服務實現基於請求特徵的打標,虛擬服務支援利用請求中攜帶的要求標頭資訊(如上圖中的UID)來進行打標。

啟用服務網格可觀測

通過啟用服務網格可觀測,客戶Z可以:

  • 無需應用改造,即可獲得Metrics + Tracing + Logging的完整可觀測資訊,可觀測資訊覆蓋率提升至100%。

  • 通過監控指標感知問題,通過鏈路追蹤確認RootCause位置,再通過訪問日誌擷取Debug輔助資訊的完整感知、定位和排查流程。故障處理速度提升80%。

ASM可觀測配置可以為應用匯出統一的日誌、監控指標和鏈路追蹤資料。統一的資料格式使得可觀測資訊可以方便地彙總,並進行統一的查詢和分析。

啟用流量防護能力

通過啟用流量防護能力,客戶Z可以:

  • 顯著提高系統利用率,徹底杜絕了個別高頻請求消耗系統資源的問題

  • 通過熔斷限流自動降級,避免因為小故障級聯引發大規模故障。

使用流量調度套件進行公平性限流

ASM流量調度套件提供了進階限流能力,可以基於請求中攜帶的多種特徵作為key進行限流。通過配置RateLimitingPolicy,可以指定以要求標頭為key,從而實現基於使用者維度限流,拒絕單一客戶的過多請求。

使用本地限流和熔斷防止級聯故障

使用ASM可以在不對應用進行任何侵入式改動的情況下,快速為叢集內的應用按需啟用熔斷與限流能力,從而提升叢集的降級能力,避免級聯故障擴大影響範圍。

以下是客戶Z啟用流量防護能力後的效果示意圖:

使用ASM管理LLM服務

通過使用ASM管理LLM服務,客戶Z可以:

  • 應用無需關心LLM依賴的存取權限,全部統一管理,顯著提升了安全性。

  • 為應用屏蔽LLM失敗的重試問題,顯著提升請求成功率。

憑證管理

ASM提供的LLM流量管理功能可以在應用請求LLM服務時根據應用身份為請求注入相應的API Key,實現了應用無需關心訪問憑證,所有憑證集中管理的能力。

降級回退

通過ASM調用LLM API時,允許為特定Provider配置降級,當請求發生錯誤時ASM將自動降級,整個過程對應用無感知。