Closed wangbang1 closed 10 months ago
找到原因了....... 因为我只起了一台服务提供者,所以压根就没有走loadbalance 如下源码 在 AbstractClusterInvoker 的 invoke 方法中,加载了 loadbalance
if (invokers.size() == 1) {
return invokers.get(0);
}
Invoker<T> invoker = loadbalance.select(invokers, getUrl(), invocation);
可以看到size为1时都不会调用loadbalance了
文件:META-INF/dubbo/org.apache.dubbo.rpc.cluster.LoadBalance 文件内容:dubboLoadBalance=com.xxxx.xx1.xx2.dubbo.DubboLoadBalance 配置文件: dubbo: consumer: loadbalance: dubboLoadBalance
类: import org.apache.dubbo.rpc.cluster.loadbalance.AbstractLoadBalance;
public class DubboLoadBalance extends AbstractLoadBalance {
}
使用的是nacos作为注册中心,consumer的元数据里也有loadbalance=dubboLoadBalance了 在debug调用时,就是进不去,也不打印日志,我理解是没有生效
差不多步骤的org.apache.dubbo.rpc.Filter是生效的,就是LoadBalance不生效 dubbo版本是2.7.23
各位帮忙看看什么原因?谢谢