`

负载均衡的几种原理

阅读更多
什么是负载均衡?
  就得说说负载均衡的作用了,负载均衡主要解决系统之间的高并发问题。当一台服务器的访问数量达到极限时,可能访问延迟,甚至宕机。我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。
  那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题。
如图:

负载均衡实现一般分硬件和软件。硬件有如F5,软件有nginx,zookeeper,redis等。
以zookeeper的负载均衡为例;
zookeeper的调度算法可分为:Round-Robin算法,随机算法,源地址哈希算法,WeightedRound-Robin算法,加权随机算法,最小连接算法。
1:Round-Robin算法(仑询)
  Round-Robin是最简单的一种负载均衡算法。它的原理是把来自用户的请求轮流分配给内部的服务器:从服务器1开始,直到服务器N,然后重新开始循环。
  算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。
 算法假设所有服务器的处理性能都相同,不关心每台服务器的当前连接数和响应速度。当请求服务间隔时间变化比较大时,算法容易导致服务器间的负载不平衡。所以此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。
2:WeightedRound-Robin(加权仑询)
  算法并没有考虑每台服务器的处理能力,实际中可能并不是这种情况。由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,算法的原理就是:根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。
3:权随机算法
加权随机算法一般应用在以下场景:有一个集合S,里面比如有A,B,C,D这四项。这时我们想随机从中抽取一项,但是抽取的概率不同,比如我们希望抽到A的概率是50%,抽到B和C的概率是20%,D的概率是10%。一般来说,我们可以给各项附一个权重,抽取的概率正比于这个权重。那么上述集合就成了:{A:5,B:2,C:2,D:1}
4:最小连接调度(Least-Connection Scheduling)算法
  是把新的连接请求分配到当前连接数最小的服务器。最小连接调度是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务器的负载情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减一。
5:源地址哈希(hash)算法
   获取客户端IP地址值,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是要访问的服务器的序号。采用哈希算法进行负载均衡,同一个IP的客户端,当后台服务器列表不变时,它每次访问的都是同一台服务器。
你妹的,对“轮”和“询”组合字敏感。我也醉了
  • 大小: 42.1 KB
分享到:
评论

相关推荐

    几种典型的负载均衡算法

    其中介绍了负载均衡的原理及相关算法,能够帮助你快速理解负载均衡

    nginx负载均衡配置,宕机自动切换方式

    主要介绍了nginx负载均衡配置,宕机自动切换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    常见的几种负载均衡详解

    在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)的工作原理,以及它们的优缺点。

    Dubbo服务集群的负载均衡算法

    在集群负载均衡时,Dubbo提供了4种均衡策略,如:Random LoadBalance(随机均衡算法)、;RoundRobin LoadBalance(权重轮循均衡算法)、LeastAction LoadBalance(最少活跃调用数均衡算法)、ConsistentHash LoadBalance...

    大型网站技术架构核心原理与案例分析_极品.zip

    大型网站技术架构核心原理与案例分析_极品.zip Nginx和LVS对比 服务器集群架构共分为10级 几种负载均衡技术 秒杀活动 网站性能优化 网站应用攻击与防御 网站运行监控

    Java常见面试问题.docx

    1.ribbon 负载均衡 项目客户端的负载均衡...11.Rides的几种数据类型及应用场景? 12.工作流 activety? 13.禅道的使用 14.Cron表达式多看看 15.父子模型 16.消息补偿:其实就是指轮循订单 17.幂等性 18.Mysql存储过程

    基于区分服务的集群接纳控制和负载均衡算法 (2006年)

    针对日益增长的电子商务Web集群服务,该文以系统总实现价值率为目标,提出了一种新的基于区分服务的任务接纳与负载均衡两阶段有机结合的区分服务调度算法。该算法针对电子商务服务的特殊性,在考虑会话完整性的基础...

    H3C WLAN学习笔记手册.ppt

    几种主要的WLAN技术 802.11协议的发展进程 802.11n各个国家授权使用的频段 802.11b/g工作频段划分图 蜂窝式无线覆盖 IEEE 802.11无线局域网工作组 802.11网络的基本元素-SSID、BSS 802.11网络的基本元素-DS 802.11...

    几种输送机软起动装置的比较

    指出矿用刮板输送机及胶带输送机存在的突出问题是难起动、机头机尾负载不均衡及过载保护装置不可靠。介绍离心离合器、可控液黏离合器及可控行星差速减速器的工作原理、结构和性能特点,及各自的适用范围。

    北京中科信软 LoadRunner培训课件

    了解性能测试基本过程 ...• 如何有效地利用Controller提供的负载均衡  测试结果分析 • Analysis的基本工作原理 • 如何使用Drill Down • 如何使用web breakdown • 如何使用自动关联图形 • 如何生成分析报表

    CCNP完整版视频.zip

    目录网盘文件永久链接 1.1-复习路由原理.wmv 1.2-复习IP包头扩展选项.wmv ... 6.3-native vlan及几种二层连接情况.wmv 6.4-DTP.wmv 6.5-QinQ.wmv 6.6-VTP基本理论.wmv 6.7-VTP特性.wmv ................

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    1.5.2 负载均衡配置实例 1.5.3 防盗链配置实例 1.5.4 日志分割配置实例 1.6 Nginx性能优化技巧 1.6.1 编译安装过程优化 1.6.2 利用TCMalloc优化Nginx的性能 1.6.3 Nginx内核参数优化 1.7 实战Nginx与...

    interview-lagou:Java面试真题与原始码解析-源码解析

    目录 第一部分:Java基础 第二部分:热门框架 ... 33.Nginx的负载均衡模式有什么?它的实现原理是什么? 34.Docker有什么优点?使用时需要注意什么问题? 彩蛋:如何提高面试成功率? 点击查看详情: :

    详解如何热重启golang服务器

    服务端代码经常需要升级,对于线上系统的升级常用的做法是,通过前端的负载均衡(如nginx)来保证升级时至少有一个服务可用,依次(灰度)升级。 而另一种更方便的方法是在应用上做热重启,直接升级应用而不停服务...

    2021互联网大厂Java架构师面试题突击视频教程

    35_dubbo支持哪些负载均衡、高可用以及动态代理的策略? 36_SPI是啥思想?dubbo的SPI机制是怎么玩儿的? 37_基于dubbo如何做服务治理、服务降级以及重试? 38_分布式系统中接口的幂等性该如何保证?比如不能重复扣款...

    计算机网络课程学习心得体会(精选3篇).doc

    今天的收获: 云计算: 云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡 等传统计算机技术和网络技术发展融合的产物。 三网融合是指电信网、计算机网和有线电视网三大网络通过技术...

    源自新浪的TCP性能分析工具Tcpdive.zip

     目前Tcpdive已经部署到作为流量入口的负载均衡服务器上,在新浪的线上环境7*24h运行,可以说是比较稳定的。 Tcpdive的主要功能 作为一个TCP协议的性能评测工具,Tcpdive提供了大量的性能指标,从以下维度来对每...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【基础】Java 中定义常量的几种方法 25 【基础】什么时候使用字节流?什么时候用字符流? 26 【基础】GBK与UTF-8的区别 26 【基础】static、final、const的区别 26 final: 26 static: 27 【基础】如何实现对象克隆?...

    双电层电容器分类及优点

    双电层电容器有(ElectricalDoule-LayerCapacitor),又可称超级电容器,一种新型储能装置,拥有高能量...双电层电容器也可以与电池结合起到电荷调节功能,存储来自其他能量源的能量已达到均衡负载的目的,然后使用充电

    四川省专升本计算机基础知识.doc

    14、PowerPoint20030有几种视图方式?分别是什么? 三种,普通视图,幻灯片浏览视图,幻灯片放映视图。 15、计算机网络的功能是什么? 共享软硬件,共享信息资源,通信功能,提高系统可靠性,均衡负载分布式处理。 ...

Global site tag (gtag.js) - Google Analytics