概述
本文以consumer和provider應用為例,分別發布consumer-v1,provider-v1和 consumer-v2,provider-v2兩個版本的應用。同時以云原生網關作為入口應用,泳道規則設置為參數version=2時,請求路由到consumer-v2,provider-v2。
前提條件
需開通微服務治理中心企業版
需開通云原生網關實例
操作流程
創建并發布V1版本應用實例
創建provider-v1 和 consumer-v1 應用實例,需勾選上接入微服務服務治理中心。
配置云原生網關轉發規則
在左側導航欄,資源管理 > 云原生網關。查看已導入云原生網關列表,點擊資源ID跳轉到云原生網關界面配置規則。不存在云原生網關實例需先訂購,然后點擊導入按鈕,進行導入。
配置服務來源
進入左側服務來源導航欄。點擊創建服務按鈕,來源類型選擇MSE Nacos,集群名稱選擇provider 和 consumer 應用注冊到nacos集群。配置服務列表
進入左側服務列表導航欄。點擊創建服務按鈕,服務來源選擇MSE Nacos,命名空間選擇provider 和 consumer注冊到nacos的命名空間。勾選上msap.nacos.provider和msap.nacos.consumer。創建路由配置
進入左側導航欄。點擊創建路由,匹配路徑填寫/nacos/consumer/**,目標服務選擇標簽路由,目標服務選擇msap.nacos.consumer,版本選擇base,權重 100。
通過網關訪問consumer和provider
進入consumer應用終端,通過curl命令訪問網關,curl 網關ip:網關port/nacos/consumer/callProvider,網關ip和端口可以在網關控制臺查看到。綁定了ELB也可以通過ELB進行訪問。
根據返回信息可以看到provider-v1應用pod的IP,到這可以確定 云原生網關->consuer-v1->provider-v1 鏈路是通的。
創建泳道組及泳道
創建泳道組
在左側導航欄,服務治理 > 全鏈路流量控制。點擊創建泳道組及泳道。入口類型選擇:云原生網關,入口應用選擇上面步驟中導入環境的網關。
創建泳道
路由規則選擇上面步驟在云原生網關中創建的路由規則,條件列表中,參數類型選擇Query,參數填version,條件選擇等于,值填寫2。創建完成后,可以看到泳道狀態是關閉的。此時規則還未生效。
發布V2版本應用
創建consumer-v2和provider-v2應用實例,并發布。創建應用實例時,需要勾選上開啟微服務治理中心,并且關聯上面步驟中創建的泳道。
開啟泳道并查看全鏈路灰度是否生效
開啟泳道
在左側導航欄,服務治理 > 全鏈路流量控制。在泳道列表操作欄,點擊開啟。
查看全鏈路灰度是否生效
進入consumer應用終端,通過curl命令訪問網關,curl 網關ip:網關port/nacos/consumer/callProvider?version=2,網關ip和端口可以在網關控制臺查看到。綁定了ELB也可以通過ELB進行訪問。 可以發現,當參數version=2時,返回的ip信息一直是provider-v2應用的ip。