天天看點

谷粒商城項目——nacos+openfeign服務調用失敗

問題描述

gulimall-member服務調用gulimall-coupou 服務時報錯,無法啟動,提示:For ‘gulimall-coupon’ URL not provided. Will try picking an instance via load-balancing.

分析

根據提示,應該是負載均衡出現錯誤,檢視nacos與openfeign的依賴,發現之前版本中內建的ribbon并不存在。

谷粒商城項目——nacos+openfeign服務調用失敗
谷粒商城項目——nacos+openfeign服務調用失敗

進入spring cloud alibaba官網檢視,說明文檔中依然認為Nacos Discovery Starter 預設內建了 Ribbon ,emmmm…應該是維護人員還沒來得及更新吧。(源自:官方文檔)

谷粒商城項目——nacos+openfeign服務調用失敗

網上查詢後發現,2020 年 12 月 22 日Spring官方部落格宣布,Spring Cloud 2020.0.0正式釋出。2020.0.0是第一個使用新的版本号命名方案的Spring Cloud發行版本。Spring Cloud官方尤其着重指出ribbon、hystrix 和 zuul從Spring Cloud 2020.0正式版釋出後将不再被Spring Cloud支援。在目前最新的Spring Cloud 2020.0中僅僅剩下了Eureka。但是留給Eureka的時間也不多了。(來源于https://www.jianshu.com/p/80e07c07f786)

也就是說,從spring cloud 2020.0.0開始,ribbon已被棄用,這裡使用的版本是spring cloud alibaba 2021.0.1.0,比對的是spring cloud 2021.0.1,是以也不支援ribbon。

解決方法

1. 回退版本

傳回spring cloud 2020.0.0之前的版本,仍支援ribbon,可以不報錯。

2. 替代ribbon

引入新的依賴即可。

<dependency>
	<groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>