一线大厂面试真题——请详细说说Dubbo负载均衡的几种策略

本文介绍了Dubbo框架中的五种负载均衡策略:加权随机、最小活跃数、一致性哈希、加权轮询和最短响应时间权重随机,详细解释了各自的原理和应用场景。
摘要由CSDN通过智能技术生成

目录

第一种是加权随机

第二种是最小活跃数

第三种是一致性hash

第四种是加权轮询

第五种是最短响应时间权重随机


Dubbo有五种负载策略:

第一种是加权随机

假设我们有一组服务器servers=[A,B,C],他们对应的权重为weights=[5,3,2],权重总和为10。现在把这些权重值平铺在一维坐标值上,[0,5)区间属于服务器A[5,8)区间属于服务器B,[8,10)区间属于服务器C。接下来通过随机数生成器生成一个范围在[0,10)之间的随机数,然后计算这个随机数会落到哪个区间上就可以了。

第二种是最小活跃数

每个服务提供者对应一个活跃数active,初始情况下,所有服务提供者活跃数均为0。每收到一个请求,活跃数加1,完成请求后则将活跃数减1。在服务运行一段时间后,性能好的服务提供者处理请求的速度更快,因此活跃数下降的也越快,此这样的服务提供者能够优先获取到新的服务请求。

第三种是一致性hash

通过hash算法,把provider的invoke和随机节点生成hash并将这个hash投射到[0,2^32-1]的圆环上,查询的时候根据key进行md5然后进行hash,得到第一个节点的值大于等于当前hash的invoker。

种是加权轮询

比如服务器A、B、C权重比为5:2:1,那么在8次请求中,服务A将收到其中的5次请求,服务器B会收到其中的2次请求,服务器C则收到其中的1次请求。

第五种是最短响应时间权重随机

计算目标服务的请求的响应时间,根据响应时间最短的服务,配置更高的权重进行随机访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值