Dubbo剖析-负载均衡

作者: 阿里加多 | 来源:发表于2018-04-02 21:53 被阅读73次

    一、前言

    在服务提供方是集群的时候,为了避免大量请求一直落到一个或者几个服务提供方机器上,从而使这些机器负载很高,甚至打死,需要做一定的负载均衡策略。Dubbo 提供了多种均衡策略,缺省为 random 随机调用

    二、dubbo负载均衡策略

    • Random LoadBalance 随机策略
      按权重设置随机概率。
    • RoundRobin LoadBalance 轮询策略
      轮循,按公约后的权重设置轮循比率
    • LeastActive LoadBalance 最少活跃调用数
      最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差
    • ConsistentHash LoadBalance 一致性hash策略
      一致性 Hash,相同参数的请求总是发到同一提供者。
      当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。

    三、 何时加载负载均衡策略

    image.png

    四、总结

    dubbo提供了几种常见的负载均衡策略,如果您需要定制自己额负载均衡策略,可以按照dubbo的规范进行定制化,比如你可以定制均匀一致性hash对dubbo的一致性hash进行改良。

    欢迎大家加入微信扫码进入知识星球进行深入探讨


    121、.png

    相关文章

      网友评论

      • 水欣:我想问个细节问题,RandomLoadBalance里面doSelect()计算权重getWeight(invokers.get(i), invocation),如果用默认的weight = invoker.getUrl().getMethodParameter(invocation.getMethodName(), Constants.WEIGHT_KEY, Constants.DEFAULT_WEIGHT);和warmup = invoker.getUrl().getParameter(Constants.WARMUP_KEY, Constants.DEFAULT_WARMUP);权重就和服务启动的时间相关,越晚启动权重越大,这样设计是考虑provider启动的早,可能负载比较重?

      本文标题:Dubbo剖析-负载均衡

      本文链接:https://www.haomeiwen.com/subject/irzacftx.html