1 / 13
文档名称:

Dubbo 负载均衡算法.docx

格式:docx   大小:224KB   页数:13页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Dubbo 负载均衡算法.docx

上传人:一花一叶 2019/2/26 文件大小:224 KB

下载得到文件列表

Dubbo 负载均衡算法.docx

相关文档

文档介绍

文档介绍:负载均衡算法在集群负载均衡时,Dubbo提供了4种均衡策略,如:RandomLoadBalance(随机均衡算法)、;RoundRobinLoadBalance(权重轮循均衡算法)、LeastActionLoadBalance(最少活跃调用数均衡算法)、ConsistentHashLoadBalance(一致性Hash均衡算法)。缺省时为Random随机调用。这四种算法的原理简要介绍如下:1、RoundRobinLoadBalanceRound-Robin既是轮询算法,是按照公约后的权重设置轮询比率,即权重轮询算法(WeightedRound-Robin),它是基于轮询算法改进而来的。这里之所以写RoundRobin是为了跟Dubbo中的内容保持一致。轮询调度算法的原理是:每一次把来自用户的请求轮流分配给内部中的服务器。如:从1开始,一直到N(其中,N是内部服务器的总个数),然后重新开始循环。该算法的优点:其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。该算法的缺点:轮询调度算法假设所有服务器的处理性能都相同,不关心每台服务器的当前连接数和响应速度。当请求服务间隔时间变化比较大时,轮询调度算法容易导致服务器间的负载不平衡。所以此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。但是,在实际情况中,可能并不是这种情况。由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,我们根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。权重轮询调度算法流程假设有一组服务器S={S0,S1,…,Sn-1},W(Si)表示服务器Si的权值,一个指示变量i表示上一次选择的服务器,指示变量cw表示当前调度的权值,max(S)表示集合S中所有服务器的最大权值,gcd(S)表示集合S中所有服务器权值的最大公约数。变量i初始化为-1,cw初始化为零。其算法如下:while(true){  i=(i+1)modn;  if(i==0){     cw=cw-gcd(S);     if(cw<=0){       cw=max(S);       if(cw==0)         returnNULL;     }  }  if(W(Si)>=cw)    returnSi;}这种算法的逻辑实现如图2所示,图中我们假定四台服务器的处理能力为3:1:1:1。                                     图1权重轮询调度实现逻辑图示由于权重轮询调度算法考虑到了不同服务器的处理能力,所以这种均衡算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。所以,在实际应用中比较常见。2、ConsistentHashLoadBalance一致性Hash,相同参数的请求总是发到同一个提供者。一:一致性Hash算法可以解决服务提供者的增加、移除及挂掉时的情况,能尽可能小的改变已存在key映射关系,尽可能的满足单调性的要求。二:一致性Hash通过构建虚拟节点,能尽可能避免分配失衡,具有很好的平衡性。一致性Hash下面就来按照5个步骤简单讲讲consistenthash算法的基本原理。因为以下资料来自于互联网,现说明几点:一、下面例子中的对象就相当于Client发的请求,cache相当于服务提供者。环形hash空间考虑通常的hash算法都是将value映射到一个32为的key值,也即是0~2^32-1次方的数值空间;我们可以将这个空间想象成一个首(0)尾(2^32-1)相接的圆环,如下面图2所示的那样。图2环形hash空间把对象映射到hash空间接下来考虑4个对象object1~object4,通过hash函数计算出的hash值key在环上的分布如图3所示。hash(object1)=key1;……hash(object4)=key4;图34个对象的key值分布把cache映射到hash空间Consistenthashing的基本思想就是将对象和cache都映射到同一个hash数值空间中,并且使用相同的hash算法。假设当前有A,B和C共3台cache,那么其映射结果将如图4所示,他们在hash空间中,以对应的hash值排列。hash(cacheA)=keyA;……hash(cacheC)=keyC;图4cache和对象的key值分布说到这里,顺便提一下cache的hash计算,一般的方法可以使用cache机器的IP地址或者机器名作为hash输入。把对象映射到cache现在cache和对象都已经通过同一个hash算法映射到hash数值空间中了,接下来要考虑的就是如何将对象映射到cache上面了。在这个环形空间中,如果沿着顺时针

最近更新

基于期末财富效用最大化的资本充足率监管政策.. 2页

基于旅游消费者行为的自驾车旅游开发研究——.. 2页

基于拉曼光谱的油品快速检测技术与实验研究 2页

基于市场导向的中小微企业竞争优势形成机理—.. 2页

基于对体育教学中师生间对过激行为处理的认知.. 2页

基于大地艺术的废弃采石场景观修复——以襄阳.. 2页

基于复杂贝叶斯网络的安全评估因果量化分析技.. 2页

基于图像亚像素定位技术的电缆护套厚度精密测.. 2页

基于半监督学习的微博谣言检测研究综述报告 2页

基于分布式目标雷达干涉测量的海塘形变研究 2页

基于全反射实现光波单向传输的二维光子晶体异.. 2页

基于产品评论的垃圾评论者检测方法综述报告 2页

基于中医结构化住院病历数据的糖尿病合并高血.. 2页

基于不同维修策略的系统可靠性分析综述报告 2页

2025年折纸教案(共15篇) 24页

2025年抗洪救灾的感人事迹材料(共13篇) 20页

2025年抓石蟹作文(共28篇) 38页

基于Web2.0技术的进化综合分析工具EvoME的研究.. 2页

2025年把信送给加西亚学习心得体会(精选18篇.. 54页

基于UPLc-MS的急性肝衰竭的血清代谢组学研究 2页

2025年承诺初中优秀作文800字(共29篇) 53页

2025年扮演的近义词及造句(共5篇) 13页

2025年执行宣传工作汇报(共5篇)-大文斗范文.. 29页

乳腺癌手术术后患者淋巴水肿管理路径、评估表.. 6页

2023学年高一上学期期末考试地理试题含答案 9页

《九型人格之职场心理》期末考试试题与答案解.. 12页

美敦力x3dr01说明书 2页

山西省田径项目最高纪录 5页

不随行父母同意函(父母一方随行)(共2页) 2页

国学研究-千年书院应该承担怎样的文化使命:岳.. 3页