课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > java教程 > dubbo服务的负载均衡
  • dubbo服务的负载均衡

    发布:昆明Java培训      来源:java教程      时间:2016-11-04

  • 昆明Java培训机构的老师这一期给大家讲负载均衡。

    基本概念

    负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常指将请求/数据均匀分摊到多个操作单元(集群服务节点)上执行,负载均衡的关键在于均匀。dubbo在服务集群负载均衡时,提供了多种均衡策略,缺省为random随机调用。

    Random LoadBalance随机,按权重设置随机概率。

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

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

    ConsistentHash LoadBalance一致性Hash,相同参数的请求总是发到同一提供者。

    负载均衡配置

    同理,负载均衡可以在消费者或者提供者中配置。

    <!--\mcweb\mcweb-web\src\main\resources\spring\dubbo-consumer.xml-->

    <dubbo:reference

    interface="com.mcweb.api.service.IUserService"

    id="userService"

    check="false"

    protocol="dubbo"

    cluster="failover"

    retries="2"

    loadbalance="random"

    />

    我们采用random随机均衡算法,在dubbo管控台中设置mcweb-logic(192.168.2.1:20880),mcweb-logic-a(192.168.2.1:20881),mcweb-logic-b(192.168.2.1:20882)的权重分别为200,100,50。

    wps88FB.tmp

    看看mcweb-web的调用情况:

    0:Get user from mcweb-logic-b

    1:Get user from mcweb-logic-a

    2:Get user from mcweb-logic-a

    3:Get user from mcweb-logic-b

    4:Get user from mcweb-logic-a

    5:Get user from mcweb-logic

    6:Get user from mcweb-logic

    7:Get user from mcweb-logic-b

    8:Get user from mcweb-logic-a

    9:Get user from mcweb-logic-b

    10:Get user from mcweb-logic

    11:Get user from mcweb-logic-a

    12:Get user from mcweb-logic-a

    13:Get user from mcweb-logic-a

    14:Get user from mcweb-logic

    15:Get user from mcweb-logic

    16:Get user from mcweb-logic

    17:Get user from mcweb-logic

    18:Get user from mcweb-logic-b

    19:Get user from mcweb-logic-b

    20:Get user from mcweb-logic

    21次调用中,mcweb-logic调用了8次,mcweb-logic-a调用了7次,mcweb-logic-b调用了6次,符合权重越大,调用次数越多。随着调用次数的增多,每个节点上的服务被调用的次数会逐渐趋向设置的权重所占的比率。

    推荐文章

上一篇:dubbo服务的集群容错

下一篇:dubbo服务的线程模型

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:12/29

Java--零基础业余班

Java--零基础业余班

开班日期:12/29

Java--周末提升班

Java--周末提升班

开班日期:12/29

Java--零基础周末班

Java--零基础周末班

开班日期:12/29

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56