【dubbo系列二】负载均衡

 目录

分类

Dubbo负载均衡五大策略说明

Dubbo负载均衡五大策略的使用

将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费

分类

  1. 软件负载 : 软件层,代码层
  2. 硬件负载 : 硬件层设备

Dubbo负载均衡五大策略说明

实现负载均衡方式

机制说明及使用

RandomLoadBalance(随机)

按权重大小概率随机(同抽奖一样)

获取所有服务提供者权重,判断所有服务提供者的权重是否都相等,相等的话随机一个,不相等则按照权重的大小随机,权重大的分配的数量的概率大

RoundRobinLoadBalance(轮询)

按公约后的权重设置轮循比率。

存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。

LeastActiveLoadBalance(最少活跃数)

最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差

如果活跃数相同则随机相同,活跃数指调用前后计数差。使慢的提供者收到更少的请求,因为越慢的提供者的调用前后计数差越大。

ConsistentHashLoadBalance(一致哈希)

相同参数的请求总是发到同一提供者

当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动

ShortestResponseLoadBalance(最短响应时间算法)

监控服务的响应时间,并根据响应时间排序,选择响应时间最短的服务器。(2.7.7 release 版本新加的一种负载均衡)

Dubbo负载均衡五大策略的使用

Provider提供层在Dubbo注解实现负载均衡

//loadbalance="负载均衡机制"
// 随机权重负载均衡			weight :  权重大小
//@DubboService(loadbalance = "random",weight = 20)
//轮询负载均衡
//@DubboService(loadbalance = "roundrobin")
//最小活跃数负载均衡
//@DubboService(loadbalance = "leastactive")
//哈希一致负载均衡
@DubboService(loadbalance = "consistenthash")
public class UserServiceImpl2 implements UserService {
    @Autowired
    UserDao2 userDao;
}

Consumer消费层

dubbo系列文章

        【dubbo系列一】搭建 dubbo 框架_萌小崔的博客-CSDN博客

        【dubbo系列三】容错机制_萌小崔的博客-CSDN博客

        【dubbo系列四】熔断-服务降级_萌小崔的博客-CSDN博客

        【dubbo系列五】分组聚合_萌小崔的博客-CSDN博客


Thanks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北九二七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值