概述
本文以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。