轮询(Round Robin)法

将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载

缺点:当集群中服务器硬件配置不同、性能差别大时,无法区别对待

随机法

通过系统随机函数,根据后台服务器列表的大小值来随机选取其中一台进行访问。随着调用量的增大,其实际效果越来越接近于平均分配流量到后台的每一台服务器,也就是轮询法的效果

优点:简单使用,不需要额外的配置和算法。

缺点:随机数的特点是在数据量大到一定量时才能保证均衡,所以如果请求量有限的话,可能会达不到均衡负载的要求。

源地址哈希法

根据服务消费者请求客户端的IP地址,通过哈希函数计算得到一个哈希值,将这个哈希值和服务器列表的大小进行取模运算,得到的结果便是要访问的服务器地址的序号。采用源地址哈希法进行负载均衡,相同的IP客户端,如果服务器列表不变,将映射到同一个后台服务器进行访问。

加权轮询(Weight Round Robin)法

不同的后台服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不一样。跟配置高、负载低的机器分配更高的权重,使其能处理更多的请求,而配置低、负载高的机器,则给其分配较低的权重,降低其系统负载,加权轮询很好的处理了这一问题,并将请求按照顺序且根据权重分配给后端

最小连接数法

前面几种方式都是通过对请求次数的合理分配最大可能提高服务器的利用率,但是实际上,请求次数的均衡并不能代表负载的均衡。所以,引入了最小连接数法。它正是根据后端服务器当前的连接情况,动态的选取其中当前积压连接数最少的一台服务器来处理当前请求,尽可能的提高后台服务器利用率,将负载合理的分流到每一台服务器。

分布式架构的负载均衡算法相关推荐

  1. Windows平台分布式架构实践 - 负载均衡

    Windows平台分布式架构实践 - 负载均衡 概述 http://www.cnblogs.com/jesse2013/p/dlws-loadbalancer.html 最近.NET的世界开始闹腾了, ...

  2. 分布式架构系列: 负载均衡技术详解 | 技术头条

    戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者:ITFLY8 转自:架构师技术联 ...

  3. 详解【负载均衡】(负载均衡算法、一致性hash、负载均衡架构分析)

    作者:duktig 博客:https://duktig.cn 优秀还努力.愿你付出甘之如饴,所得归于欢喜. 本文源码参看:https://github.com/duktig666/distribute ...

  4. 集群,分布式,负载均衡,负载均衡算法

    集群 集群的概念 计算机集群通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接, ...

  5. 自古帝王多短命,假如皇帝也懂负载均衡算法...

    " 大家都知道古代皇帝各个都是后宫佳丽三千,而皇帝身上都天然的带着雨露均沾的精神,不想单独的宠爱一人! 来自:51cto技术栈 弱水三千,又怎舍得只取一瓢饮?据传皇帝们晚上睡觉个个都怕冷,因 ...

  6. php负载均衡原理_Java开发大型互联网架构深入负载均衡原理之方案分析

    引言 负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. 负载均衡,英文名称为Load Balan ...

  7. 算法高级(17)-SpringCloud中的负载均衡算法

    前面讲的负载均衡技术实际上都是服务端负载均衡,一个请求需要被发送到哪台服务器做出响应,是由我们的服务器决定的.而在SpringCloud中,采用的缺是客户端负载均衡技术.那么客户端负载均衡的优势到底在 ...

  8. 算法高级(13)-常见负载均衡算法Java代码实现

    我们在分布式系统常见负载均衡算法中对负载均衡及负载均衡算法进行了介绍,接下来我们用代码对常见的几种算法进行实现. 本文讲述的是"将外部发送来的请求均匀分配到对称结构中的某一台服务器上&quo ...

  9. 算法高级(12)-分布式系统常见负载均衡算法

    负载均衡这个话题比较大,一篇估计说不完,今天先来第一篇. 一.负载均衡介绍 [百度百科]负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡.分摊到多个操作单元上进行运 ...

最新文章

  1. 2015年10月15日作业
  2. Linux-2.6设备模型与sysfs文件系统
  3. hadoop常用命令之hdfs
  4. 服务器linux系统支持php好,关于Linux服务器系统的七大优势,你知道几个?
  5. 将可执行文件以资源的方式加入到另一个可执行文件并释放
  6. dj鲜生-31-用户中心-功能需求分析
  7. c#获取ssl证书有效性_c# – 获取网站SSL证书的公钥
  8. KNN(六)--LSH算法
  9. vue全局引入scss文件(推荐)
  10. 利用javascript动态生成表格及注释
  11. 【用C语言绘制谢尔宾斯基三角形】
  12. phpStorm和git解决冲突
  13. ubuntu下配置虚拟内存
  14. 2022-2028年全球与中国马铃薯淀粉生产线行业发展趋势及竞争策略研究
  15. java获取中文的拼音以及获取中文拼音的首字母
  16. 金融 App 审核被拒原因及解决方案汇总
  17. keep怎么弄轨迹动画_keep怎么录视频?教学视频录像和轨迹动画视频录制方法介绍...
  18. git pull 时一直卡在Unpacking objects【待解决】
  19. 【附源码】计算机毕业设计java智慧灭火器管理系统设计与实现
  20. GD32F4xx uIP协议栈移植记录

热门文章

  1. Java桌球小游戏1
  2. [HDU2157]How many ways??(DP + 矩阵优化)
  3. JavaScript:undefined And null差异
  4. “吃神么,买神么”的第三个Sprint冲刺总结
  5. An Openfire plugin for Webspell sites.
  6. VMware Workstation卸载清理批处理命令
  7. SQLite学习-临时文件
  8. Lesson 31-32 Personal Habits
  9. 关于sharepoint 里面的时间和Moss对象模型取出来的时间不一致问题
  10. CCF计算机职业资格认证2016-12-1