- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[2018年最新整理]Dubbo_负载均衡算法
负载均衡算法在集群负载均衡时,Dubbo提供了4种均衡策略,如:Random LoadBalance(随机均衡算法)、;RoundRobinLoadBalance(权重轮循均衡算法)、LeastActionLoadBalance(最少活跃调用数均衡算法)、ConsistentHashLoadBalance(一致性Hash均衡算法)。缺省时为Random随机调用。这四种算法的原理简要介绍如下:1、RoundRobinLoadBalanceRound-Robin既是轮询算法,是按照公约后的权重设置轮询比率,即权重轮询算法(Weighted Round-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) mod n;??if (i == 0) {?????cw = cw - gcd(S);?????if (cw = 0) {???????cw = max(S);???????if (cw == 0)?????????return NULL;?????}??}??if (W(Si) = cw)????return Si;}这种算法的逻辑实现如图2所示,图中我们假定四台服务器的处理能力为3:1:1:1。????????????????????????????????????? 图1权重轮询调度实现逻辑图示由于权重轮询调度算法考虑到了不同服务器的处理能力,所以这种均衡算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。所以,在实际应用中比较常见。2、ConsistentHashLoadBalance一致性Hash,相同参数的请求总是发到同一个提供者。一:一致性Hash算法可以解决服务提供者的增加、移除及挂掉时的情况,能尽可能小的改变已存在key映射关系,尽可能的满足单调性的要求。二:一致性Hash通过构建虚拟节点,能尽可能避免分配失衡,具有很好的平衡性。一致性Hash下面就来按照5个步骤简单讲讲consistent hash算法的基本原理。因为以下资料来自于互联网,现说明几点:一、下面例子中的对象就相当于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;图3 4个对象的key值分布把cache映射到hash空间Consistent hashing的基本思想就是将对象和cache都映射到同一个hash数值空间中,并且使用相同的hash算法。假设当前有A,B和C共3台cache,那么其映射结果将如图4所示,他们在hash空间中,以对应的hash值排列。hash(cache A) = key A;… …hash(cache C) = key C;图4 cache和对象的key值分布说到这里,顺便提一下cache的hash计算,一般的方法可以使用cache机器的IP地址或者机器名作为hash输入。把对象映射到cache现在cache和对象都已经通过同一个hash
您可能关注的文档
- [2018年最新整理]cy_JSJ_03_2.ppt
- [2018年最新整理]cy商不变的规律》PPT课件.ppt
- [2018年最新整理]c__笔试题汇总_收藏.doc
- [2018年最新整理]C_chap_图的遍历1.ppt
- [2018年最新整理]C仿古建筑工程.doc
- [2018年最新整理]C快慢变化的运动平均速度和瞬时速度.ppt
- [2018年最新整理]C程序设计第二章.ppt
- [2018年最新整理]C程序设计编程题库.doc
- [2018年最新整理]C教育目的与制度.ppt
- [2018年最新整理]C程题目答案.doc
- 3.2 学习成就梦想 课件(共27张PPT) 统编版道德与法治七年级上册(内嵌音频+视频).pptx
- 2.1.2植物细胞工程的应用课件(共32张PPT) 人教版选择性必修3(内嵌音频+视频).pptx
- 纲要上第3课 秦统一多民族封建国家的建立 课件(共19张PPT)(内嵌音频+视频).pptx
- 高中历史必修三课件第6课文艺复兴和宗教改革1(共44张PPT).ppt
- 课时5二次函数y=ax2bxc的图像与性质课件北师大版九年级数学下册.pptx
- 《宗教大学生信仰调查报告》.doc
- 信息必刷卷03(广州专用)(原卷版).docx
- 343实际问题与一元一次方程(三)球赛积分问题(分层作业).docx
- Unit2Animals核心单词课件高中英语上外版(2020)1_1.pptx
- 2.1.2植物细胞课件(共20张PPT)人教版生物七年级上册(内嵌音频+视频).pptx
最近下载
- 夜航星-Night Voyager 高清钢琴谱五线谱.pdf
- 2024北京丰台区三年级(下)期末数学试题及答案.pdf VIP
- 餐饮食堂禁用食材及案例学习专题培训.pptx VIP
- 英语语法知到智慧树期末考试答案题库2025年黑龙江科技大学.docx VIP
- (高清版)-B-T 239.1-2023 金属材料 线材 第1部分:单向扭转试验方法.pdf VIP
- (高清版)B-T 19015-2021 质量管理 质量计划指南.pdf VIP
- 女性学女性精神在现代社会中的挑战2023章节测试答案_女性学女性精神在现代社会中的挑战超星尔雅答案.pdf VIP
- JB/T 9092-1999 阀门的检验与试验(扫描版).pdf VIP
- 2020-7-18温湿度监测系统专项内审.pdf VIP
- 《山海经》异兽图全.pdf VIP
文档评论(0)