专栏首页Java帮帮-微信公众号-技术文章全总结Dubbo入门学习--负载均衡策略(4)

Dubbo入门学习--负载均衡策略(4)

Dubbo入门学习--负载均衡策略

负载均衡

Random LoadBalance
  • 随机,按权重设置随机概率。
  • 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
RoundRobin LoadBalance
  • 轮循,按公约后的权重设置轮循比率。
  • 存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。
LeastActive LoadBalance
  • 最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。
  • 使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。
ConsistentHash LoadBalance
  • 一致性Hash,相同参数的请求总是发到同一提供者。
  • 当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。
  • 算法参见:http://en.wikipedia.org/wiki/Consistent_hashing。
  • 缺省只对第一个参数Hash,如果要修改,请配置<dubbo:parameter key="hash.arguments" value="0,1" />
  • 缺省用160份虚拟节点,如果要修改,请配置<dubbo:parameter key="hash.nodes" value="320" />

配置如:

<dubbo:service interface="..." loadbalance="roundrobin" />

或:

<dubbo:reference interface="..." loadbalance="roundrobin" />

或:

<dubbo:service interface="..."> <dubbo:method name="..." loadbalance="roundrobin"/></dubbo:service>

或:

<dubbo:reference interface="..."> <dubbo:method name="..." loadbalance="roundrobin"/></dubbo:reference>

源码分析:

Dubbo负载均衡接口及其实现类:

接口LoadBalance:

介绍一下RandomLoadBalance实现类中实现select的相关方法,RandomLoadBalance是按照权重的大小来进行随机,如果权重相等则均等随机。

本文分享自微信公众号 - Java帮帮(javahelp),作者:奋斗蒙

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-07-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hadoop,zookeeper,HBase,Spack集群环境搭建【面试+工作】

    Hadoop,zookeeper,HBase,Spark集群环境搭建【面试+工作】

    Java帮帮
  • Dubbo入门-协议;注册中心

    Dubbo入门-协议&注册中心 一、配置dubbo多协议模式 1、默认协议 Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,...

    Java帮帮
  • 【大牛经验】如何成为一名优秀的全栈工程师

    如何成为一名优秀的全栈工程师 什么是全栈工程师 全栈工程师一词,最早出现于Facebook工程师Calos Bueno的一篇文章 - Full Sta...

    Java帮帮
  • 产业安全观智库访谈 | 疫情和“新基建”双重驱动,安全产业发展按下“加速键”

    ? 「产业安全观智库访谈」栏目简介: 在中国产业互联网发展联盟的指导下,腾讯安全联合安在新媒体共同启动了「产业安全观智库访谈」。围绕产业安全的发展趋势,结合当...

    腾讯安全
  • SQL Server——死锁查看

      右键服务器->打开活动和监视器,,就可以看到监控的一些信息,阻塞信息,查询的耗时等。

    _一级菜鸟
  • Java Web之基于注解的Spring MVC环境配置

    1、在web.xml中配置前端控制器,拦截请求,然后配置加载SpringMVC的配置文件(处理器映射器、处理器适配器、视图解析器等) <!-- springmv...

    YungFan
  • 详解javascript作用域和闭包

    版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/deta...

    空空云
  • #记一次对某违法网站的渗透纪实

    lonelyvaf
  • Python变量作用域

      Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的。

    tonglei0429
  • 理解 JavaScript 中的作用域

    作用域是 JavaScript 中的一个重要而又模糊的概念。只有正确使用 JavaScript 作用域,才能使用优秀的设计模式,帮助你规避副作用。本文中,我们将...

    疯狂的技术宅

扫码关注云+社区

领取腾讯云代金券