Dubbo -- 系统学习 笔记 -- 示例 -- 负载均衡
2024-08-29 11:32:36
示例
想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式
负载均衡
在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用。
可以自行扩展负载均衡策略,参见:负载均衡扩展
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>
啦啦啦
最新文章
- 【译】Unity3D Shader 新手教程(1/6)
- [ACM训练] 算法初级 之 数据结构 之 栈stack+队列queue (基础+进阶+POJ 1338+2442+1442)
- 学习SpringMVC——从HelloWorld开始
- 全面剖析 <;input>; 标签 ------ HTML\HTML5
- 无废话SharePoint入门教程二[SharePoint发展、工具及术语]
- Mac 下安装ruby,以及CocoaPods安装以及使用网摘
- html/css基础篇——GET和POST的区别
- 试试用有限状态机的思路来定义javascript组件
- Java 之 内部类
- StringUtils cannot be resolved
- 【CentOs】开机启动与防火墙
- C#方法解析
- Handler消息机制实现更新主UI
- js 触摸事件
- C# WebClient、jQuery ajax jsonp实现跨域
- Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件
- 选择性搜索(SS)算法
- 14. Longest Common Prefix ★
- 通用Mapper环境下,mapper接口无法注入问题
- canvas-star1.html