Appearance
标签化路由
简介 (mas5.9、locas2.3开始支持;locas2.5开始支持项目不发布直接标签调试)
解决在项目开发、调试过程中,相同服务根据标签来路由,以达到各开发者调试时发出的请求能够路由到自己设定的标签服务上,实现多人开发互不干扰。
例如:A、B开发同一项目(服务名:project1)的不同模块,A、B需要将本地的后台服务注册进nacos,但注册的后台服务名都为project1,但A、B本地的服务代理存在差异。 由于微服务运行机制,前端发起对project1服务的请求会根据nacos的策略来路由,就会出现A发出的请求会转发到B的project1服务上,导致调试困难。
加入标签机制后,A前端发起的请求带有A打的标记,同时A将自己的服务注册进nacos后,在nacos里对A提供的服务打上响应的标记,在服务转发时根据标签来找对应的服务。
操作步骤(以下以调试locas-service服务接口为例,nacos环境中已有locas-service服务)
1、将本地locas-service服务启动,并注册到公共环境nacos
2、进入nacos服务管理端,找到locas-service服务
3、找到自己的locas-service服务,进行编辑,加入标签属性值
例如:
json
{
"preserved.register.source": "SPRING_CLOUD",
"E-TAG": "debug"
}
4、前端项目中设置对应的标签,将项目发布应用
注意:
- 需要发布成应用才能生效(不方便调试项目,locas2.5开始支持低代码开发时调试)
这样这个应用上发出去的请求头里就会带上debug标签,网关路由时就根据标签:debug去匹配locas-service服务
locas2.5开始支持低代码项目开发时,无需发布应用: