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
時將微服務統一划歸相同命名空間,相同服務組!由此,我的理解,管理多個項目屬於一個命名空間,管理同一個項目多個微服務模塊屬於一個服務組。