概述
本文以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传任何值。