dubbo负载算法之加权随机算法

本文主要探讨了Dubbo的加权随机负载均衡算法,它是Dubbo的默认选择。加权随机算法通过赋予服务提供者不同的权重,使得高效率的服务有更多的机会被选中。在了解了Dubbo如何通过SPI加载默认算法后,文章还简单说明了如何将加权随机算法转换为普通的随机算法,即去除权重部分。
摘要由CSDN通过智能技术生成

dubbo负载算法有四种:

RandomLoadBalance(加权随机算法)

RoundRobinLoadBalance(加权轮询算法)

LeastActiveLoadBalance(最少活跃度算法)

ConsistentHashLoadBalance(一致性哈希算法)

这次只讲加权随机算法

随机算法:随机平均算法是通过随机取值在理想的情况下每个值被获取到的几率是一样的;

加权随机算法:通过增加权重的概念使得莫个数字被获取的几率增加;

dubbo的默认负载算法即是RandomLoadBalance;

dubbo即是java的SPI即是升级,默认从配置文件中加载

@SPI("random")
public interface LoadBalance {
    //适配器自适应方法
    @Adaptive({"loadbalance"})
    <T> Invoker<T> select(List<Invoker<T>> var1, URL var2, Invocation var3) throws RpcException;
}

random=com.alibaba.dubbo.rpc.cluster.loadbalance.RandomLoadBalance

首先要明白什么是invokers:

invokers即是dubbo在注册服务的时候在zookeeper的服务者的节点数据,对zookeeper进行监听在本地维护的服务者信息;

invoker如下所示:
//修改了权重的invoker
dubbo://192.168.178.224:20882/cn.xxxxx.ycloud.database.service.AreaInfoFacade?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值