概述
本文以consumer和provider應用為例,分別發布consumer-v1,provider-v1和 consumer-v2,provider-v2兩個版本的應用。同時以微服務云應用平臺部署的網關作為入口應用,泳道規則設置為參數version=2時,請求路由到consumer-v2,provider-v2。
前提條件
需開通微服務治理中心企業版。
操作流程
創建并發布V1版本應用實例
創建provider-v1 和 consumer-v1 應用實例,需勾選上接入微服務服務治理中心。
發布網關應用
創建并發布gateway應用實例,需勾選上接入微服務服務治理中心。
通過網關訪問consumer和provider
進入gateway應用終端,通過curl命令訪問網關,curl podip:27180/nacos/consumer/callProvider。
根據返回信息可以看到provider-v1應用pod的IP,到這可以確定 gateway->consuer-v1->provider-v1 鏈路是通的。
創建泳道組及泳道
創建泳道組
在左側導航欄,選擇服務治理 > 全鏈路流量控制,點擊創建泳道組及泳道。入口類型選擇:在MSAP部署的應用/網關,入口應用選擇:mse-gateway
創建分流泳道
路由規則選擇上面步驟在云原生網關中創建的路由規則,條件列表中,參數類型選擇Query,參數填version,條件選擇等于,值填寫2。 創建完成后,可以看到泳道狀態是關閉的。此時規則還未生效。
發布V2版本應用
創建consumer-v2和provider-v2應用實例,并發布。創建應用實例時,需要勾選上開啟微服務治理中心,并且關聯上面步驟中創建的泳道。
開啟泳道并查看全鏈路灰度是否生效
開啟泳道
在左側導航欄,服務治理 > 全鏈路流量控制。在泳道列表操作欄,點擊開啟。
查看全鏈路灰度是否生效
進入gateway應用終端,通過curl命令訪問網關,curl podip:27180/nacos/consumer/callProvider?version=2。 根據返回的ip息可以看到,參數version為2時,返回的是provider-v2的pod IP,傳其它值的時候返回的是provider-v1的pod IP傳任何值。