本文是负载均衡详解的第一篇文章,介绍负载均衡算法, 硬件负载均衡。部份内容摘自读书笔记。算法
经常使用的负载均衡算法有,轮询,随机,最少连接,源地址散列,加权等方式;安全
将全部请求,依次分发到每台服务器上,适合服务器硬件同相同的场景。服务器
优势:服务器请求数目相同;架构
缺点:服务器压力不同,不适合服务器配置不一样的状况;并发
请求随机分配到各个服务器。
优势:使用简单;负载均衡
缺点:不适合机器配置不一样的场景;性能
将请求分配到链接数最少的服务器(目前处理请求最少的服务器)。测试
优势:根据服务器当前的请求处理状况,动态分配;spa
缺点:算法实现相对复杂,须要监控服务器请求链接数;开源软件
根据IP地址进行Hash计算,获得IP地址。
优势:未来自同一IP地址的请求,同一会话期内,转发到相同的服务器;实现会话粘滞。
缺点:目标服务器宕机后,会话会丢失;
在轮询,随机,最少连接,Hash’等算法的基础上,经过加权的方式,进行负载服务器分配。
优势:根据权重,调节转发服务器的请求数目;
缺点:使用相对复杂;
采用硬件的方式实现负载均衡,通常是单独的负载均衡服务器,价格昂贵,通常土豪级公司能够考虑,业界领先的有两款,F5和A10。
使用硬件负载均衡,主要考虑一下几个方面:
(1)功能考虑:功能全面支持各层级的负载均衡,支持全面的负载均衡算法,支持全局负载均衡;
(2)性能考虑:通常软件负载均衡支持到5万级并发已经很困难了,硬件负载均衡能够支持
(3)稳定性:商用硬件负载均衡,通过了良好的严格的测试,从通过大规模使用,在稳定性方面高;
(4)安全防御:硬件均衡设备除具有负载均衡功能外,还具有防火墙,防DDOS攻击等安全功能;
(5)维护角度:提供良好的维护管理界面,售后服务和技术支持;
(6)土豪公司:F5 Big Ip 价格:15w~55w不等;A10 价格:55w-100w不等;
缺点
(1)价格昂贵;
(2)扩展能力差;
(1)通常硬件的负载均衡也要作双机高可用,所以成本会比较高。
(2)互联网公司通常使用开源软件,所以大部分应用采用软件负载均衡;部分采用硬件负载均衡。
好比某互联网公司,目前是使用几台F5作全局负载均衡,内部使用Nginx等软件负载均衡。
以上主要从负载均衡原理,分类,算法,硬件负载均衡进行了介绍。下次分享,负载均衡详解(三),主要介绍:软件负载均衡(LVS,Nginx,Haproxy,Apache特色,架构),负载均衡软件技术选型比较,应用负载均衡的问题和解决方案等方面。