dubbo操作如下:
一個服務提供方,一個服務消費方,服務提供方配置參數dubbo.application.name=aa,服務消費方配置參數dubbo.cloud.subscribed-service=bb。先啟動服務提供方,再啟動服務消費方,然后調用消費方接口提示異常。
錯誤內容:
org.apache.dubbo.rpc.RpcException: Failed to invoke the method sayHello in the service xxx. No provider available for the service xxx from registry localhost:9090 on the consumer [ip] using the dubbo version 2.7.3. Please check if the providers have been started and registered.
問題原因:由於疏忽,將服務提供方dubbo.application.name的值與服務消費方配置dubbo.cloud.subscribed-service的值寫的不一致,導致消費方在啟動時根據配置找不到服務提供方。
解決:將服務消費方dubbo.cloud.subscribed-service參數的值修改為服務提供方dubbo.application.name的值即可。
這個問題出現的原因比較多,網上還有一些原因是dubbo與spring cloud版本不一致導致的,如果參數配置沒有異常但是依然報錯,建議修改版本spring boot、spring cloud、dubbo這三者的版本需要能兼容。