在EDAS K8s環境中,EDAS支援對Dubbo微服務應用進行全鏈路流量控制。全鏈路流量控制功能可以協助您快速靈活地建立一個流量控制環境,將具有一定特徵的流量路由到目標版本應用。
背景資訊
在EDAS K8s環境中,當您部署的Dubbo應用存在升級版本時,由於應用間的調用是隨機的,會導致無法將具有一定特徵的流量路由到應用的目標版本。全鏈路流量控制功能將應用的相關版本隔離成一個獨立的運行環境(即泳道),通過設定流控路由規則,將滿足規則的請求流量路由到目標版本應用。
本文以電商架構中的下單情境為例介紹全鏈路流控功能。
客戶下單後流量從入口應用(或者微服務網關)進來,調用交易中心,交易中心再調用商品中心,商品中心調用下遊的庫存中心。
交易中心和商品中心各有兩個新版本(1和2)在運行,需要對這兩個新版本進行灰階驗證。此時在入口應用(或者微服務網關)上期望將滿足特定流控規則的請求流量路由到新版本,其餘流量全部路由到線上(正式)版本。

名詞解釋
入口應用
微服務體系內的流量入口。入口應用可以是Spring Cloud Gateway、Netflix Zuul Gateway引擎類型網關或者Spring Boot、Spring MVC、Dubbo應用。
泳道
為相同版本應用定義的一套隔離環境。只有滿足了流控路由規則的請求流量才會路由到對應泳道裡的打標應用。一個應用可以屬於多個泳道,一個泳道可以包含多個應用,應用和泳道是多對多的關係。
泳道組
泳道的集合。泳道組的作用主要是為了區分不同團隊或不同情境。
使用限制
加入全鏈路流量控制的應用,將不再支援金絲雀發布。
使用Spring Cloud Gateway作為入口網關時,需要Spring Cloud Gateway的版本在2.1.x及以上。
不同規格的EDAS,泳道組和泳道的配額不一樣:
標準版:在所有地區下最多隻能建立2個泳道組;在每個泳道組內,最多能建立5個泳道。
除專業版和鉑金版以外的其他所有版本,都屬於標準版。
專業版:在所有地區下最多能建立20個泳道組;在每個泳道組內,最多能建立50個泳道。
鉑金版:在所有地區下最多能建立20個泳道組;在每個泳道組內,最多能建立50個泳道。
不支援提升泳道組和泳道的配額。
如果確定要提升泳道組和泳道的配額,請加入釘群(釘群號:31723701)聯絡產品技術專家諮詢處理。