在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)聯系產品技術專家咨詢處理。