微服务引擎 CSE
微服务引擎 CSE
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 使用华为云CSE注意事项
- Nacos引擎
-
ServiceComb引擎
- 如何进行本地开发和测试?
- 证书加载错误
- 无效头名称
- mesher性能损耗是多少?
- 连接服务中心提示“Version validate failed”
- 连接服务中心提示“Not enough quota”
- 如何处理开启了安全认证的ServiceComb引擎专享版开启IPv6后服务注册失败?
- 服务名重复校验范围是什么?
- 为什么一定要定义服务契约?
- 如何解决微服务应用开发过程中微服务开发框架同netty版本不匹配的问题?
- ServiceComb专享版引擎版本从1.x升级到2.x时有哪些注意事项?
- 用户业务从微服务引擎专业版迁移到微服务引擎专享版checklist
- 创建引擎提示“Duplicate cluster name”
- 创建引擎过程中处理接入地址步骤失败,提示the subnet could not be found
- 本地轻量化注册服务报错:does not match rule: {Max: 100, Regexp: ^[a-zA-Z0-9]{1,160}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{0,158}[a-zA-Z0-9]$}"}
- SpringCloud应用连接ServiceComb引擎2.x版本配置中心失败
- 在全局配置中配置相关的配置项修改后,服务获取的配置内容未修改成功
- 获取配置失败
- 应用网关
- 视频帮助
- 文档下载
- 通用参考
本文导读
展开导读
链接复制成功!
验证标签路由功能
本文以consumer调用provider服务为例,在CCE场景验证标签路由功能(CCE场景部署请参考基于CCE场景)。部署图如下所示:
其中,微服务网关为Spring Cloud Netflix Zuul,provider存在2个版本,一个是版本为1.0.0(绿色背景)的provider,一个是版本为1.0.1、自定义标签为group:gray(灰色背景)的provider。
验证步骤
- 下载demo应用并打包,镜像打包文件和k8s部署文件参考部署文件,制作docker镜像请参考使用容器引擎客户端上传镜像。
- 按照部署图部署入口应用(spring-cloud-router-zuul)、consumer(spring-cloud-router-consumer)、provider(spring-cloud-router-provider v1.0.0)3个应用
- 查看应用是否已全部接入CSE的ServiceComb引擎。
参考查看微服务列表查看您的应用是否已接入CSE的ServiceComb引擎。
- 待应用接入ServiceComb引擎后,参考配置路由规则对spring-cloud-router-provider应用配置路由规则,路由规则如下:
--- - precedence: 1 match: headers: id: exact: '1' caseInsensitive: false route: - tags: group: gray weight: 100 - precedence: 2 match: headers: id: exact: '2' caseInsensitive: false route: - tags: version: 1.0.1 weight: 100
说明:
配置路由规则时,需选择以下配置:- 配置项:servicecomb.routeRule.spring-cloud-router-provider。
- 配置范围:应用级配置。
- 应用:default <空>。
- 配置格式: yaml。
- 部署标签应用gray-provider(服务名为spring-cloud-router-provider,版本为1.0.1,标签为group:gray)。
须知:
必须先配置路由规则,再部署标签应用。否则,如果在规则生效之前部署标签应用,流量就会马上请求到标签应用。
- 查看标签应用是否已接入ServiceComb引擎。
参考查看微服务列表查看服务名为spring-cloud-router-provider的服务,是否存在2个实例(v1.0.0与v1.0.1的实例)。
- 验证标签路由功能。
- 使用以下命令访问标签为group:gray的provider:
- 使用以下命令访问版本为1.0.1的provider:
- 使用以下命令访问版本为1.0.0的provider:
curl -H "id: 3" http://127.0.0.1:30000/consumer/hello/feign
或者
curl http://127.0.0.1:30000/consumer/hello/feign
说明:
执行命令时,需要把ip替换成实际宿主机的ip,把端口替换成容器的8170端口映射到宿主机的端口,访问时,会请求到入口应用(spring-cloud-router-zuul)中。
可以得出结论,当请求头为id: 1或者id: 2时,会路由到版本为1.0.1的provider,当不满足以上条件时,会访问到版本为1.0.0的provider。