启动dubbo消费端过程提示No provider available for the service的问题定位与解决

摘要:
进入动物园管理员的/bin目录并执行:[app@zkbin ]$./ 成功执行zkCli.sh后,您可以使用zookeeper的客户端获取/dubo节点下注册的所有数据。这个问题实际上是由变更生产者在启动过程中缺少字段导致的,导致应用程序无法启动,然后无法正常向zk注册dubbo服务。

文/朱季谦

某次在启动dubbo消费端时,发现无法从zookeeper注册中心获取到所依赖的消费者API,启动日志一直出现这样的异常提示

Failed to check the status of the service com.fte.zhu.api.testService. No provider available for the service com.fte.zhu.api.testService from the url zookeeper://127.0.0.1:2181/org.apache.dubbo.registry.RegistryService?
......

如何解决类似 No provider available的问题,其实思路很好理解,既然是没有可用的生产者,也就意味着,应该生产者没有把其接口注册到zookeeper注册中心,首先我们先确定这条假设是否成立,就要去zookeeper服务器上定位下。

进入到zookeeper的/bin目录下,执行:

[app@zk bin]$ ./zkCli.sh

执行成功后,就可以使用zookeeper的客户端来获取注册在/dubbo节点下的所有数据了。

第一步,先执行,发现该节点下什么也没有,只出来一个中括号[ ],这就意味着,生产者没有成功把接口信息注册到zk上,若注册成功,根据以下指令,是能查询到相应的接口注册信息的。

[zk: localhost:2181(CONNECTED) 4] ls /dubbo/com.fte.zhu.api.testService/providers
[]

既然如此,那肯定是生产者项目出现了什么异常,进入到生产者项目,查看其日志信息,可以看到在其启动过程中,其中出现了一个Close all registries....的异常信息,这就意味着,该项目的所有dubbo的生产者接口都没有注册到zookeeper中,导致在消费者项目上无法获取到依赖的接口。

image
这次问题其实是改生产者在启动过程当中,缺少了一个字段导致的,导致启动应用失败,进而无法正常将dubbo服务注册到zk上。

因此,下次若再出现类型No provider available for the service的问题,可以按照此思路一步步定位,进而找到问题所在。

免责声明:文章转载自《启动dubbo消费端过程提示No provider available for the service的问题定位与解决》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安全建设之平台搭建Bootstrap:弹出框和提示框效果以及代码展示下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

RPC 超时设置 分析 转

出处:RPC 超时设置   上面这张监控图,对于服务端的研发同学来说再熟悉不过了。在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题。   尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨多个服务调用后才能返回结果。当服务超时发生时,研发同学往往要抽丝剥茧般去分析自身系统的性能以及依赖服务的性能,这也是为什么服务超时相对于服务出错和服...

Dubbo 2.7 安装

前言 新版dubbo 不再需要配置dubbo monitor 如果想安装之前的版本, 在 master中分支 一. 安装zookeeper 1)下载zookper,作为dubbo的注册中心 bin.tar.gz 中有windows运行文件 zookeeper镜像 2)运行zookeeper zKServer.cmd 出现如下错误 需要在zookeep...

创建项目

---恢复内容开始--- 一、创建父工程 eshop-parent选择pom进行创建   添加pom.xml依赖    <!-- 集中定义依赖版本号 --> <properties> <junit.version>4.12</junit.version> <spring.version>4.2.4...

Dubbo学习笔记

1 dubbo的 作用以下内容摘自dubbo官网:dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现; 2 查看官网大坑 (二)dubbo管理控制台的搭建 git clone https://github.com/apache/incubator-dubbo-o...

Java 并发系列之七:java 阻塞队列(7个)

1.基本概念 2.实现原理 3.ArrayBlockingQueue 4.LinkedBlockingQueue 5.LinkedBlockingDeque 6.PriorityBlockingQueue 7.DelayQueue 8.SynchronousQueue 9.LinkedTransferQueue 10.小总结 11.t...

Spring boot配置Dubbo三种方式

方式一使用注解的方式导入dubbo-starter在application.properties配置属性使用@Service暴露服务使用@Reference引用服务使用@EnableDubbo开启注解Dubbo功能或者配置包扫描dubbo.scan.base-packages=com.atguigu.gmall1开启注解、包扫描,配置一个即可这种方式可以在...