a. 问题描述:503 Service Unavailable
b. 问题原因:
1. 由于netflix
组件进入维护模式,spring cloud 2020.0.x
开始移除netflix
相关组件,当使用lb://SERVICE
时,spring cloud gateway
中由于缺少原有的ribbon
负载均衡组件,而导致服务不可用。
2. 对于nacos
使用,我想当然地对服务进行命名空间,服务组分类,导致不在同一个命名空间,或者在同一个命名空间不在同一个组的服务,无法被彼此发现,此时,网关也呈现出503 Service Unavailable
。
c. 解决方法:
1. 添加相关负载均衡依赖spring-cloud-starter-loadbalancer
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-loadbalancer</artifactId> <version>x.x.x</version> </dependency>
2. 使用nacos
时将微服务统一划归相同命名空间,相同服务组!由此,我的理解,管理多个项目属于一个命名空间,管理同一个项目多个微服务模块属于一个服务组。