靈活全鏈路灰度方案

灰度發佈是指在應用的新、舊版本間平滑過渡的一種發佈方式。EDAS 支持單應用的灰度流量控制檯和多應用的全鏈路灰度。

使用場景

您可以基於HTTP 和 HSF 兩種方式完成單應用和多應用的灰度發佈。

  • 單應用升級 應用迭代過程中會不斷有新版本發佈,在正式發佈前,可以使用灰度流量控制先進行小規模驗證,通過收集使用體驗的數據,對應用新版本的功能、性能、穩定性等指標進行評判,然後再全量升級。
  • 多應用問題排查 當部署在 EDAS 中的 HSF 微服務應用出現問題時,可以通過全鏈路灰度流量控制將特定流量引入到某個應用,排查鏈路中具體應用的問題,保證整個微服務應用正常運行。

基本概念

入口應用與灰度規則

在全鏈路灰度中首先要指定入口應用,並根據 HTTP 和 HSF 設置各自的灰度規則。入口應用和灰度規則作用如下圖所示。

靈活全鏈路灰度方案

  • 對於 HTTP 流量,在流量進入該入口應用之後才會執行灰度判斷。如果符合規則條件,就會將其標記為對應的灰度。簡單地說,就是隻做灰度判斷。 注意 此處僅僅是對已收到的 HTTP 流量進行灰度判斷,全鏈路灰度目前還不支持 HTTP 流量的灰度路由。實際是在入口應用處根據 HTTP 流量判斷灰度,對之後各環節產生的所有 HSF 流量進行灰度路由。 和全鏈路灰度發佈不同,單個應用的 HTTP 流量控制規則是針對應用分組的,不只做灰度判斷,也會進行灰度路由。
  • 對於 HSF 流量,在流量進入該入口應用之前就會執行灰度判斷,並且進行標準的灰度路由處理。如果入口應用有屬於當前灰度的應用分組實例,灰度流量就會直接路由到該灰度分組,否則灰度流量就會降級處理,路由到該入口應用的非灰度默認分組。簡單地說,就是既做灰度判斷,又進行灰度路由。 灰度規則的設置和在單應用流量控制中是類似的,不同的是可以有多條規則。 每個規則都要指定流量協議類型,有 HTTP 和 HSF 兩種類型。 每個規則都可以有多項規則條件,相互之間是“與”或者“或”的關係。

灰度環境

EDAS 通過定義灰度環境來管理灰度發佈。灰度環境包含入口應用、灰度的識別規則,同時也是一個邏輯空間概念,容納同處於該灰度環境的應用實例分組。因此,也可以將應用的某個實例分組(非默認分組)添加或移出某個灰度環境。

靈活特性

EDAS 全鏈路灰度方案能夠通過控制檯實現灰度發佈和流量管控,具有以下靈活特性:

  • 只需為要求灰度的部分應用準備實例資源,不用將業務系統整體再搭建一套。
  • 支持多重灰度,允許不同的應用有各自不同的灰度控制,甚至允許同一個應用同時參與多個灰度控制。
  • 支持鏈路灰度,允許多個應用同處於一個灰度控制,上游環節識別出來的灰度流量,經過非灰度的中間應用環節,在下游環節仍可路由到對應的灰度應用實例。

更多行業上雲案例敬請關注【阿里云云棲號】


分享到:


相關文章: