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这三者的版本需要能兼容。