一个服务器做一样的网站,义乌开锁做网站哪个好,网站需要写哪些内容,网站页面设计有哪些引言
在集成nacos组件以及springcloudalibaba 的gateway时#xff0c;出现正确配置#xff0c;如下文配置#xff0c;却在测试demo调用该服务的时候#xff0c;无法路由到此服务#xff0c;说是无效服务。经过查阅资料得知其命名不符合gateway的命名规范#xff0c;因而…引言
在集成nacos组件以及springcloudalibaba 的gateway时出现正确配置如下文配置却在测试demo调用该服务的时候无法路由到此服务说是无效服务。经过查阅资料得知其命名不符合gateway的命名规范因而无法识别。规范详情见下文。
spring:cloud:gateway:discovery:locator:lowerCaseServiceId: trueenabled: trueroutes:# 研究模块- id: j-researchuri: lb://j_modules_researchpredicates:- Path/research/**filters:- StripPrefix1
gateway可以识别的nacos服务名命名规范
在gateway中配置uri配置有三种方式包括 第一种ws(websocket)方式: uri: ws://localhost:9000 第二种http方式: uri: http://localhost:8130/ 第三种lb(注册中心中服务名字)方式: uri: lb://brilliance-consumer
其中ws和http方式不容易出错因为http格式比较固定但是lb方式比较灵活自由。不考虑网关只考虑服务时服务名命名时比较自由都能启动被访问被注册到注册中心但是如果提供给gateway使用时就会对服务命名方式有特殊要求了。
能被gateway的lb方式识别到的命名规则为
“a-zA-Z:.”
这也意味着java命名规范中可以使用的英文下划线“_”不能被识别,而我命名为brilliance_consumer刚好带下划线改为brilliance-consumer后则可以正常通过网关访问自己项目。
如果名字中有非*“a-zA-Z:.”*规则字符则会报错
规则见包org.springframework.cloud.gateway.filter中的类RouteToRequestUrlFilter