首先先说结论:高版本(本人是2021.0.1.0)的spring-cloud-alibaba-dependencies依赖中去除了ribbon依赖,若想能通过Gateway网关找到对应的微服务,需要引入loadbalancer依赖。如果引入了loadbalancer依赖后还是无法找到对应的微服务,请先打开nacos页面中的服务管理,检查你的网关服务和被调用的服务(注意是服务,不是配置!)是否注册在同一个命名空间(namespace)和分组(group)当中,如果不是,你的网关将无法找到你所需要的服务。下面我给出细节
首先是spring-cloud-alibaba-dependencies的依赖:
可以看到我使用的是2021.0.1.0版本的,所以需要在引入一个loadbalancer依赖
网关微服务的bootstrap.yaml配置:
nacos上对gateway的配置:
请注意,一定要将网关服务和其他需要调用的服务放在discovery下同一个namespace和group,否则网关会找不到服务,血的教训。
个人认为对discovery进行分组可以有效进行服务注册的管理,但同时一不留意就会引入新坑!
消费者微服务的bootstrap.yaml配置:
在nacos页面上的服务注册:
请确保网关服务和其他服务都注册在了同一个命名空间namespace和分组group当中,这里namespace是5d2ccdae-2340-4d9a-a93e-c3f08846f81c.然后,group是wanxinp2p-group
消费者中的方法:
服务端口:
通过网关服务调用消费者服务中的方法,正常执行:
以上就是我碰到的坑,希望对大家有帮助,最后在贴一张我认为别人说的很对的话