dubbo禁用服务,但消费者还是能访问,为什么会这样,求解

dubbo-admin禁用所有服务:
图片说明
服务方provider1执行结果:
图片说明
服务方provider2执行结果:
图片说明
很明显的看到服务方provider1 还是被调用了,但我把这两个服务全部禁用掉了,为什么还会出现这种原因,求大神解释一下原因

0

8个回答

-1

我现在也在使用duboo+zookeeper,遇到了这个一模一样的问题(dubbo禁用服务,但消费者还是能访问).
我各种查找资料,梳理源码仍旧找不到解决方案.
请问你现在有解决方案吗?

0
ecm7324
voc2048 同问~~
一年多之前 回复
wxlzmt
张小白 回复永不言败-lzw: 没有
一年多之前 回复
qq_20124743
永不言败-lzw 回复张小白: 现在有解决方案了吗?
一年多之前 回复
wxlzmt
张小白 回复qq_39417134: 没有
一年多之前 回复
qq_39417134
qq_39417134 你现在有解决方法了吗?
接近 2 年之前 回复

我也遇到一样的问题,可以通过服务屏蔽解决。

1

我测试发现多个提供者的情况下是禁用有效的,如果所有提供者都被禁用了,那么和所有提供者全部启用是一个效果

0

这个问题我之前提issue 问过开发者,意思是说当服务就剩一个时候禁用会导致服务不可用,所以不允许剩下一个服务的时候对服务进行禁用操作

0

重启zookeeper试一下。

0

Dubbo服务提供者选择逻辑:
只有一个提供者:
直接选择
有两个提供着:
轮训,重试的时候优先选择没有调用过的
超过两个提供者:
1、首先根据负载均衡算法选出一个提供者(默认是随机算法)。
2、判断随机出来的被调用过(这里只有重试的时候才可能为true),或者提供者不可用,则按如下逻辑重新选择一个
a)如果配置了提供者可用检测,则从所有提供着中选择一个可用的,并且没有被调用过的
b)如果没有配置提供者可用检测,则从所有提供着中找出所有未调用过的,如果超过1个,则用负载均衡算法随机选择一个
c)如果上面两种方式都没有找到,则从所有已经调用过的提供者找出所有可用的,如果超过1个,则用负载均衡算法随机选择一个
3、如果第2步也没有选择出来,则按如下逻辑重新选择一个
a)先找出第1步中选择出的提供者在数组中的位置,如果它不是最后一个,那么就取它后面的一个,否则就返回它自己

总结以上:一个直接使用,两个轮训未用过的,超过两个尽量找未用过且可用的,次之已调用过的可用的,最后无论如何选择一个,即使是不可用。

0

dubbo服务禁用后,重启下又会失效了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用dubbo时服务被禁止原因
使用dubbo时服务被禁止原因 Forbid consumer 10.0.1.158 access service com.esteel.account.service.ScmEgesyslogService from registry 10.0.1.220:2181 use dubbo version 2.5.3,  Please check registry access list (wh
Dubbo 服务提供者启动成功后,消费者调用服务失败
其中一个可能的原因是linux服务器上这个提供者服务本身的端口,被linux防火墙限制远程访问了。 现象是日志提示Spring  -- CreateBeanException,   后面带的服务和方法名全部都是正确的。 在centos7上这样开放端口,假设服务提供者本身的端口为20880 firewall-cmd --add-port=20880/tcp 然后服务消费者可以调用此服务成功。
使用dubbo时使用Zookeeper消费者调用服务时
报错com.alibaba.dubbo.rpc.RpcException: No provider available from registry 是因为在消费方由于接口的路径与提供方路径不同导致,如在提供方中接口路径为<dubbo:service interface="cn.demoService.DemoService" ref="demoService" />那么在消费方接口...
Dubbo消费者无法连接到生产者提供的服务
原文链接:http://blog.csdn.net/xlgen157387/article/details/52702659 背景: 这篇文章的标题可以设置为如下几个,因为他都是同一个解决方法:  (1)Dubbo注册zookepper时为什么会自动使用内网IP?  (2)Dubbo消费者无法连接到生产者提供的服务  (3)。。。 场景还原 1、项目部署架构 最
dubbo中生产者显示启动成功,然后消费者连不上的解决思路
我那会出现这个问题的时候在网上找了好多教程,最后是生产者那个端口被占用,所以首先要排除生产者端口是否被占用  
dubbo无法消费服务问题, 出现莫名的IP地址
在上个星期 , 整个星期中都深陷其中. dubbo出现无法调用服务者的情况. 在dubbo-admin监测站上通过查看IP为192.168.119.1 如上图所示, 但是Linux 公网IP 为192.168.225.129 在经过网上查找问题后, 发现比较多的是说Linux的内网IP问题, 在我将几乎 所有答案都试了一遍后, 几近奔溃 ,仍然无果.  在几乎放弃之际,在一篇博
Dubbo服务正常发布,但消费不到的问题
问题: dubbo服务能够正常发布: 但是就是消费不到此服务(现象):配置文件也点不进去,引用也报错 解决思路: 1.先检查配置文件是否错误:主要检查下面的部分 服务端: <dubbo:service interface="com.oldlove.search.IGlobalService" ref="globalService" protocol="dubbo"&g...
阿里dubbo框架使用系列:服务提供者和消费者的创建和使用
新建一个maven工程 创建一个服务接口 package com.pcx.dubbo_facade; public interface DemoService { String sayHello(String name); } 运行 clean install打包dubbo-facade 接下来创建 dubbo-provider 工程 在po
【SpringBoot系列】如何解决Dubbo中生产者未启动,消费者启动报错
今天遇到一个巨坑的问题,就是这个问题导致测试环境的服务都出现500错误。不知道大家有没有遇到过,服务消费者先启动,服务提供者后启动,导致消费者中@Reference实例化的对象都是null的。这也是为什么将代码部署到测试环境所有接口都报500错误的原因,到目前为止还是有点不清楚原因,为什么web项目就可以,SpringBoot项目就不行。后面因为项目时间原因也没有深究原因,就这么不了了之了,目前猜...
用dubbo时遇到的坑之消费者找不到提供者之服务器端采用内网IP
用dubbo时,在本地环境的时候一切正常,当转到服务器环境时,发现消费者提示找不到dubbo的地址。查看报错信息,提示寻找服务提供者的dubbo协议地址为服务器的内网ip。进入dubbo-admin查看服务提供者信息,发现提供者的IP地址为服务器的内网IP,找到原因所在。dubbo默认服务提供方的IP为内网IP,当在内网环境的时候,消费者访问内网IP没问题,但当服务提供者注册到服务器时,dubbo...
为什么在Dubboadmin中都能看到服务提供者和消费者 但就是跑不通服务呢?
历经两天的潜心研究,真的是发现了不少的东西,最后提一下,什么教程什么秘籍都没有官方文档说的全,有些东西还是要去官网上看才有用,第一天搭建了dubbo和注册中心zookeeper,结果跑起来发现没有用,于是各种找原因,发现是包扫错了,然后发现消费者服务又挂不上去,找了半天哪写错了发现是要扫描一个controller,最后都通了,就差跑一下浏览器,结果发现无限载入!因为设置了响应时间120000,找了...
Dubbo无法访问远程Zookeeper已注册服务的问题
背景使用Dubbo的时候发现当Zookeeper、Dubbo-admin、生产者和消费者都在 内网中的时候,生产者的生产和消费是没有问题的,但是当它Zookeeper、生产者放到远程服务器上,然后消费者在访问消费就出现了无法找到找到服务的问题。内网环境使用情况上述的图是在同一个内网中,使用的代码如下:1、生产者配置<?xml version="1.0" encoding="UTF-8"?> <be
dubbo管控台不显示消费者
今天遇到太多dubbo问题,其中一个是dubbo提供者和消费者都成功启动,但是dubbo管控台里只有提供者,没有显示消费者。解决:在启动消费者后,要运行消费者项目,使消费者要调用到提供者提供的服务,这样再刷新一下管控台,就会显示消费者了~~!
作为dubbo注册中心的zookeeper暂时失效了并不影响消费端的调用
dubbo启动报错原因:Dubbo通过注册中心发现服务,发现的服务Dubbo同时也会保存到本地缓存一份,缓存的好处有很多,比如不需要每次使用的时候都通过注册中心获取,注册中心不可用了,不影响消费端的调用,因为本地缓存了一份服务提供者列表。Dubbo本地缓存默认采用的文件,会根据注册中心自动在当前用户目录下生成一个缓存文件,类似/home/newad/.dubbo/dubbo-registry-*....
通俗易懂的Dubbo学习(一) dubbo服务者和消费者的简单案例
随着互联网的不断发展,系统应用的规模也在不断扩大,常规的垂直类型应用架构已经无法较好的应对,所以分布式服务架构以及流动计算机架构的趋势越来越明显。在这种大规模类型的服务化架构到来之前,可能只是通过rmi,hessian等工具来进行简单的服务引用的处理,但是当规模量逐渐提升之后,过多的服务也带来了一定的繁琐问题,例如说对于服务url的管理。 当不同服务的调用量逐渐提升之后,服务的容量问题也越来越不...
Dubbo服务提供者和消费者配置
服务提供方及服务消费方的配置示例 provider xml version="1.0" encoding="UTF-8"?> xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http
关于Dubbo+zookeeper的生产者与消费者之间的调用问题
作为一个程序员,在开发过程中,一直谨遵前辈们的教导,那是能懒则懒得,能够用Ctrl+C/V写代码,就不会手动去敲键盘。但是,有时太懒也是会出bug的,小辰今天就遇到了一个错误,一开始没有注意,经过反复的调试也无法解决,最后上百度去找解决方法,也都是驴唇不对马嘴,不过好在没有放弃,最后还是找到问题的所在,下面就让我们一起去见识一下这个bug,希望对你有所帮助: 问题的原因是这么来的,小辰在前期开发...
【Dubbo分布式服务框架】4.基于API配置的服务提供者和消费者
我们之前讲解了基于配置以及基于注解的服务提供者和服务消费者的开发模式,这里为大家介绍一个不常用的开发模式,这种模式不是基于注解,而是基于API的模式。 一般我们开发都是基于配置或注解的,而API的模式适用于OpenAPI, ESB, Test, Mock等系统集成,所以大家了解即可。 首先我们在MyEclipse里创建一个名为Dubbo-Web-Provider-API的服务提供者:
dubbo 项目既是提供方又是消费方,调用不到服务问题
1、先查看服务提供者有没有注册,这里通过安装eclipse中的zookeeper插件。进行了查看,服务已经注册上了2、注册上以后,查看调用者有没有在zookeeper中注册,此时通过查看,并没有3、没有注册上,然后查看是否是配置哪里出了问题4、最终看出来,是dubbo扫描包的问题。只扫描到了提供service的包,并没有去扫描调用别的服务的controller的包...
Dubbo消费者启动报错
报错如下:172.16.238.68是我的本机ip [DUBBO] Failed to start NettyClient TS20160418002/172.16.234.102 connect to the server /172.16.238.68:20880 (check == false, ignore and retry later!), cause: client(url:dubb...
使用dubbo+maven搭建消费者跟提供者(附源码)
由于项目需求,需要把服务层跟应用层抽离开,要求可以单独部署到不同服务器中。由于考虑到以后可能会做成分布式,所以选择了dubbo+zookeeper的架构。使用maven对项目架构进行分模块管理。 zookeeper---动物管理员,它的作用是服务注册中心,dubbo提供者可以在此注册自己的请求地址,所提供的服务等。dubbo消费者可以根据需求向zookeeper请求对应的提供者提供的服务。 首
dubbo控制台不显示消费者
dubbo搭建环境为: 部署服务器:CentOS release 6.3 注册中心:zookeeper-3.3.6 监控中心:dubbo-monitor-simple-2.5.3 管理控制台:dubbo-admin-2.5.4.war 开发环境:windows eclipse maven   遇到的问题: 编写完一个小demo(只包含提供者和消费者)后,启动提供者,在控制台正常...
dubbo服务提供者的实体类和消费者的实体类不一致的问题
在实践中遇到了dubbo服务提供者的实体类可能和消费者需要的实体类的注解或者字段有部分差异如果是注解差异,JPA和redis的注解同时存在的时候,(此问题待解决)折中方案:将JPA的注解放入在服务提供者方,因为服务提供者需要通过JPA来获取数据库中的数据,然后通过dubbo向消费者提供该实体类的json数据,由服务消费方调用并反序列化消费者方自己的实体类。...
Dubbo消费者调用服务端接口
1. Integration层中的pom增加一个需要调用的service的依赖 2.dubbo.xml文件配置dubbo:reference
DUBBO服务为null的情况
最近开发公司项目,遇到了dubbo服务为空的情况,现在把出现的情况做个简单的总结:dubbo为空会报空指针异常!    1.第一种情况:引用有误,也就是再注入dubbo服务的时候,使用@Reference注解的时候,引用的并不是ali的dubbo,所以一直引入的都是错误的。导致注入为null;    这种情况比较常见,因为粗心大意导致import 文件错误,只需要认真检查。就可以找出问题所在。  ...
关于dubbo的超时问题
关于这个问题,一开始是在rsa二次解密的时候出现的。解密成功后但总是无法返回数据。报的是服务器超时。 还以为是因为service注入导致的,后来将解密的方法写出util类,但报的错误和之前一样,瞬间不知所措,在网上查了一下,后来才研究出来是因为dubble的超时问题,可以用下面的形式     &amp;lt;!-- 延迟到Spring初始化完成后,再暴露服务,服务调用超时设置为12秒,超时不重试--...
如何区分dubbo哪个是服务提供者,哪个是消费者
在配置文件中,有  //暴露服务的  就是服务提供者
Dubbo消费者代理的调用
当消费者调用服务接口的方法时,实际调用的是接口代理类的InvokerInvocationHandler的invoke()方法。 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { String methodName = method.getName(); Clas...
Dubbo之服务消费者Web应用war包的部署
1、关于部署的介绍 IP:192.168.2.61     部署容器:apache-tomcat-7端口:8080应用:edu-web-boss.war 2、下载(或者上传)最新版的Tomcat7 wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.73/bin/apache-tomcat-7.0.73.tar.
Dubbo注册中心宕机
注册中心宕机 高可用 通过设计,减少系统不能提供服务的时间 zookeeper注册中心宕机 还可以消费dubbo暴露的服务 健壮性 监控中心宕掉 不影响使用,只是丢失部分采样数据 数据库宕掉 注册中心,仍能通过缓存提供服务列表查询,但不能注册新服务 注册中心 对等集群,任意一台宕掉,将自动切换到另一台 注册中心 全部宕掉后,服务提供者和服务消费者,仍能通过本地缓存通讯...
dubbo(11)---zookeeper注册中心宕机,还可以消费dubbo暴露的服务。
现象:zookeeper注册中心宕机,还可以消费dubbo暴露的服务。 原因:健壮性 监控中心宕掉不影响使用,只是丢失部分采样数据 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务 注册中心对等集群,任意一台宕掉后,将自动切换到另一台 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯 服务提供者无状态,任意一台宕掉后,不影响使用 服务提供者全部宕掉后...
dubbo消费者请求不到生产者
com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout. method: 将dubbo服务器、dubbo提供者、dubbo消费者放在同一局域网下,便可以解决
dubbo服务提供者注册后为什么要有心跳机制
因为注册中心的会话是有生命限制的,会话结束生命就要终止,为了防止因为会话闲置太久被杀了,所以必须要保持会话。 怎么保持呢? 我在dubbo的源码里面一直找不到dubbo注册session失效的事件的源码,所以我猜测,这个事件应该和znode做了捆绑,因为创建会话的时候生成了znode。 我查看了zookeeper,果然是有提供这样的机制。  zk有一种Z
dubbo 消费者重复订阅
dubbo消费者应用A启动,通过dubbo-admin查看后,有两个一模一样的消费者订阅。基本配置如下 spring根application-context.xml中配置 spring mvc的servlet-applicationcontext.xml配置 因为dubbo service是单例的,所以,为了验证这个bean是否被创建了两次,我新建了构造方法,然后打印log,发现,dubbo
dubbo消费者注册到zookeeper失败
概要: 1.VM部署Linux,然后部署了zookeeper服务,dubbo-admin管理中心 2.本机开启两个工程, 服务提供者:成功注册 消费者:tomcat启动未报异常,但是在dubbo-admin就是找不到消费者 原因:在调试其他BUG时,不小心把依赖删除了 com.github.sgroschupf zkclient 0.1 ...
Docker下部署dubbo,消费者应用无法使用link参数的问题
Docker下部署dubbo,消费者应用使用link参数连接zookeeper,导致应用初始化失败
Dubbo消费者启动时检查参数
dubbo消费者对于依赖的服务默认采取了启动的时候就做服务可用性检查,若是不可用将会抛出异常。   dubbo文档中有以下叙述:如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果check=false,总是会返回引用,当服务恢复时,能自动连上。 主要有三个参数配置:    1、关闭某个服务的启动...
阿里云dubbo提供者Service启动时默认将方法注册到内网IP
一、现象 这个问题困扰了笔者很久,终于找到解决方案。 服务提供端代码: 但是服务消费端却无法访问。 二、原因 一般Dubbo服务都是通过内网调用,Dubbo服务启动时默认会将服务注册到内网IP,dubbo-admin也显示服务提供者为内网ip,消费端就无法从外网访问。 三、解决过程 1、Linux的hosts中设置外网IP a) 通过hostname命令得到机器名 b)
关于dubbo的理解,使用,常见问题以及如何更好的实施服务化
用dubbo也有一段时间了,现在做一些归纳和总结。 1. h
dubbo服务端启动注册成功,客户端无法调用问题
昨天由于某个挂载问题重启了一下机器,重新挂载完毕,重启了dubbo provider 153这台服务器的一个节点,重启tomcat没有问题发,在dubbo admin可视化界面中也显示该dubbo provider注册zookeeper注册成功,但是客户端在调用的时候报错,显示没有可使用的provider,猜想在reboot -n 重启机器后,防火墙默认开启了。 于是屏蔽防火墙,service
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链价格为什么会上涨 这样学习java