apache / dubbo

The java implementation of Apache Dubbo. An RPC and microservice framework.
https://dubbo.apache.org/
Apache License 2.0
40.35k stars 26.4k forks source link

dubbo版本升级后,weight值修改问题 #10759

Open yzlxlf opened 1 year ago

yzlxlf commented 1 year ago

consumer1: 版本alibaba dubbo 2.6.2 consumer2: 版本apache dubbo 2.7.15

provider apache dubbo 2.7.15

loabbalance为:roundrobin

两个节点,两个节点权重都是默认的100

操作:修改zk中dubbo的providers中的某一个url中weight的值为0

现象:weight值被设置成0的节点还是可以收到consumer2的dubbo请求

请问这个是啥原因

AlbumenJ commented 1 year ago

修改后注册中心都推送完毕了吗,可以consumer版本独立部署看下是哪个版本有问题

yzlxlf commented 1 year ago

不好意思,问题已经得到解决 1、问题描述有误,实际我们修改的是configurators的url的override的节点的weight=0 2、出现2.7.15版本的流量无法摘除的原因是,版本2.7.15代码中解析url信息是解析encode 的url,如果写入节点中的是decode 的url,则2.7.15版本无法解析,而2.6.2版本,是先做decode,然后解析decode后的url,所以,2.7.15版本解析失败,导致weight=0解析失败,故流量无法摘除