栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Dubbo的负载均衡

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Dubbo的负载均衡

 转自Dubbo官网:http://dubbo.io/ 负载均衡   

什么是负载均衡?
       在集群负载均衡时,Dubbo提供了多种均衡策略,缺省的话位random随机调用。

       在具体实现上,通过负载均衡算法得出Consumer(消费者)应该去去访问那个provider(服务提供者)实例。

        比如:三个用户(Consumer)去访问一个商店(Provider)商店里面有十颗糖,每次只能购买一颗,有可能A用户购买到7颗,B用户3颗,C用户一颗没有 ,

 Random

        .按权重设置随机概率,
        .有可能会出现一个用户拿到大量资源的情况,但是随着调用量越大,分配得就越均匀,同时有利于动态调整提供者权重。
        .缺点:存在慢的提供者累计请求问题,比如:第二个用户磨磨蹭蹭,导致请求到第二台用户的时候就卡在那里,久而久之,所有请求都卡在第二台用户上,这个时候就可能会导致Dubbo常见的雪崩问题。

RoundRobin

     
平滑加权算法解读:
        普通情况下将会出现 A A A B B C 这样的调度情况,会导致某段时间调度过于集中的问题,于是借鉴Nginx的平滑加权算法解决这个问题。
        轮前加和权重 = 起始轮( A(3),B(2),C(1) )  + 轮后权重
        本轮胜者 = 权重最大者
        轮后权重 = 胜者 - 合计权重
        合计权重 = A权 + B权 + C权 
        

        下一轮第七轮应该是 A(3),B(2),C(1) 我们会发现又回到了起始轮,同时计算出来调用过程将变成A B A C B A,从结果可以看出来每个用户并不会出现某个时间段过于集中调用的情况。

LeastActive

解读理解:
        当使用上面两种轮询策略的时候,经常出现一个用户堵塞导致雪崩问题,可以更换成LeastAvtive轮询策略,让活跃度高(代表长时间占用,执行任务效率低)的提供者收到更少的请求

ShortestResponse

 ConsistentHash

        

负载均衡配置 Spring配置:

 服务端服务级别

客户端服务级别

服务端方法级别 


    

 客户端方法级别


    
Springboot注解配置

属性配置发布服务的,负载均衡策略名称,来部署负载均衡策略

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/725361.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号