dubbo启动消费者找不到服务端com.alibaba.dubbo.rpc.RpcException: No provider available from registry ip:2181 for service uatcmobile/cn.com.test.UserService on ...

最近在接触dubbo,dubbo启动的时候作为消费端一直找不到服务,找了一天:说下环境

1.springboot集成dubbo采用的注解式

2.服务端是普通的ssm项目集成dubbo的配置式

猜想;

1.两端采用的必须一致--这个应该不用

2.dubbo版本的问题--服务端用的是2.5.4,我们消费端集成dubbo-spring-boot-start采用的是2.0,里面的dubbo采用的是2.6.0版本,修改成服务端对应的版本启动一直报错DubboLog类找不到: 这个问题确实存在dubbo-2.6.1版本中存在该类但是2.5.4版本不存在,经过猜想可能是spring-boot版本过高或者spring-boot启动本身就需要DubboLog类;后改回版本

3.由于最早就存在消费端找到服务端的情况,排除服务端原因;

4.后改为配置版本发现配置的服务接口的路径不一致,这是因为服务端曾经提供过两个jar包,包名是一致的,所以直接覆盖了,后经过发现UserService的路径有更改,与删除掉的提供的第一个版本路径不一致,也就是消费者使用的服务根本就不是服务端注册的服务,故导致找了很久问题所在

总结:

当dubbo调用消费者找不到服务的时候一定不要忘记排查真正的服务端服务类;

当然除此之外还有因素的影响,比如网络影响,公网和内网的影响之类的,可以多搜索相关信息,不再赘述,仅说明自己问题所在。

原文地址:https://www.cnblogs.com/healthinfo/p/10322937.html

时间: 2025-01-11 11:59:07

dubbo启动消费者找不到服务端com.alibaba.dubbo.rpc.RpcException: No provider available from registry ip:2181 for service uatcmobile/cn.com.test.UserService on ...的相关文章

ignite客户端找不到服务端的时候如何设置退出

ignite启动客户端时需要有服务端支持: Ignition.setClientMode(true); Ignition.start("ignite.xml"); 这里有个问题,当启动客户端,客户端发现找不到服务端时会默认每隔两秒重新扫描连接,重试十分钟左右.但是我们希望他找不到服务端的时候立即退出不执行程序,查看源码发现,其扫描与joinTimeout参数有关,客户端启动时对参数进行判断,如果值为空则进行默认重连,但是有值的时候就会按照值的大小进行扫描,为了立即退出,我设置joinT

Netty源码分析第1章(Netty启动流程)-------->第1节: 服务端初始化

第一章:  Server启动流程 概述: 本章主要讲解server启动的关键步骤, 读者只需要了解server启动的大概逻辑, 知道关键的步骤在哪个类执行即可, 并不需要了解每一步的运作机制, 之后会对每个模块进行深度分析 第一节:服务端初始化 首先看下在我们用户代码中netty的使用最简单的一个demo: EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGroup workerGroup = new NioEventL

dubbo启动时,检查依赖服务配置

dubbo启动有一个选项:即是否检查依赖的服务是否启动,把这个选项置为false就可以了. 这个是从文档上面摘下来的: <dubbo:reference interface="com.foo.BarService" check="false" /> 也可以加lazy="true"配置,懒加载模式

关于dubbo调度时出现Request processing failed; nested exception is com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method insertTestTb in the service cn.cuibusi.core.service.TestTbService.的解决办法

在用dubbo跨项目调度service时出现如下错误: 错误原因:pojo没有实现序列化 今天刚好复习了序列化,在分布式环境下,当进行远程通信时,无论是何种类型的数据,都会以二进制的形式在网络上进行传送.序列化是一种将对象,以一连串的字节描述的过程,用于解决在对对象流进行读写时所引发的问题. 解决方法:在pojo实现序列化接口即可

dubbo学习总结二 服务端

服务端主要执行对底层数据库的操作 主要分层为 api +dao+ filter+ util+... 首先 dubbo 服务端有一个dubbo配置文件 dubbo:application 定义应用名称 dubbo:registry 将这个注册到zookeeper里面 zookeeper对这些服务进行管理 dubbo:protocal 和provider注册zookeeper暴露端口号 dubbo:service 提供的服务 这里的interface 是取API 里面的提供的,ref 是绑定了 相当

Netty 服务端启动过程

在 Netty 中创建 1 个 NioServerSocketChannel 在指定的端口监听客户端连接,这个过程主要有以下  个步骤: 创建 NioServerSocketChannel 初始化并注册 NioServerSocketChannel 绑定指定端口 首先列出一个简易服务端的启动代码: 1 public void start() { 2 EventLoopGroup bossGroup = new NioEventLoopGroup(1); 3 EventLoopGroup work

企业级工作流解决方案(三)--微服务消息处理模型之服务端处理

1. Json-Rpc 2.0 参考地址:https://www.jsonrpc.org/specification JSON-RPC是一个无状态且轻量级的远程过程调用(RPC)协议,它允许运行在基于socket,http等诸多不同消息传输环境的同一进程中.其使用JSON(RFC 4627)作为数据格式,它为简单而生. 请求对象 发送一个请求对象至服务端代表一个rpc调用, 一个请求对象包含下列成员: jsonrpc指定JSON-RPC协议版本的字符串,必须准确写为“2.0” method包含所

二十五、客户端/服务端架构,网络基础

一.软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq,微信.网盘,优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯,而这两个分类又对应两个软件开发的构架 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的. 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用

DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务,与前篇中的不同,在DSAPI中,指令版同时包含了服务端与客户端. 先来看一下使用方法,几乎不需要太多的说明,当然,它是支持事件的.所谓指令版,即服务端和客户端收发都是基于短字串的,比如客户端发一个"hello",服务端收到这个指令后返回一个"Hi".为确保传输的数据有