Dubbo提供者的禁用

 我来答
抛下思念17
2022-06-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6468
采纳率:99%
帮助的人:36.6万
展开全部

dynamic
服务是否动态注册,如果设为false,注册后将显示为disable状态,需人工启用,并且服务提供者停止时,也不会自动取消注册,需人工禁用。
@Service注解

dubbo2.7.2以前

dubbo2.7.2及2.7.2以后

dynamic在service上的默认值变了

按照dubbo配置生效规则 :

但是dynamic参数并不会产生禁用dubbo提供者的效果
dynamic=false提供者启动时,服务同样会被注册到zookeeper。消费者也会调用到相对应的服务。
当提供者停止后,dynamic=true的服务的连接在zookeeper上会消失,但是dynamic=false的服务的连接还会保存在zookeeper上,不会消失。
dynamic关键字只是控制dubbo提供者停止后,zk上这些节点消不消失,并不是控制服务可不可以访问。

由于ip是动态的,采用application name的方式

以user-center-provider为例

提前取好name、配置好动态规则,再去部署提供者就可禁用dubbo服务。
但是dubbo-admin只有先部署服务才能配置规则

取新的applicaton name 和不取新applicaton name,结合下面 【3、dubbo-admin动态配置】 选择一种

动态配置分两种,取新的applicaton name 和不取applicaton name

限制的地址需要修改

修改权重weight

经过测试的用例:

3节点: 2个节点权重100,1 个节点权重0 ,权重0的不可以访问
3节点:3个节点权重都是0,都可以访问
2节点: 2个节点权重都是0,都可以访问
2节点:1个节点权重100 ,1个节点权重0 ,权重0的不可以访问
例如:
user-center-provider 老节点的权重默认100,节点为A和B。
更改apollo配置weight=0,启动服务创建C和D。
同时存在四个节点A、B、C、D。由于C和D权重为0,所以流量只会进入A、B。
当A、B停止时,流量会进入C、D,此时与权重值是否为0无关了。
老节点停止,新节点瞬间可用
引发的思考:并发访问量大的情况下,老节点停止,到新节点启用,这之间的数据同步会不会有问题?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微测检测5.10
2023-07-11 广告
IEC62133与en62133的区别如下:1. 认证机构不同:IEC62133是国际的标准,它以国际通用的标准进行生产;而en62133采用的是欧盟的标准,它使用欧盟的生产需求进行生产。2. 宗旨不同:IEC62133的宗旨是促进电气、电... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式