负载均衡概述
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
服务器负载均衡从字面意义来讲可以理解为,单台服务器不能称之为均衡,只有多个服务器才能称之为均衡,也就是说:多个服务器组成的这样一个系统,我们称之为服务器均衡系统。负载均衡组成的方式:
负载均衡的服务器(管理器)
被均衡的服务器集群(客户机)
负载均衡管理器,是整个负载均衡的控制服务器(DR),所有用户的请求都要先经过这台服务器,然后由此服务器根据各个实际处理服务器状态将请求具体分配到某个实际处理
服务器中,用户是感觉不到后端的服务器的,他们只看到当前这台DR服务器。DR服务器只负责转发和安装相应的管理软件,所以一般企业负载均衡服务器非常重要,但是资源使用非常少,所以不必用非常高的配置来担当负载均衡管理器。
负载均衡分类:软/硬件
软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别大的时候,软件本身会成为服务器工作成败的一个关键;软件可扩展性并不是很好,受到操作系统的限制;由于操作系统本身的Bug,往往会引起安全问题。
硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。
一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。
部署方式:路由模式
负载均衡有三种部署方式:路由模式、桥接模式、服务直接返回模式。
路由模式部署灵活,约60%的用户采用这种方式部署;桥接模式不改变现有的网络架构;服务直接返回(DSR)比较适合吞吐量大特别是内容分发的网络应用。约30%的用户采用这种模式。
服务器的网关必须设置成负载均衡机的LAN口地址,且与WAN口分属不同的逻辑网络。因此所有返回的流量也都经过负载均衡。这种方式对网络的改动小,能均衡任何下行流量。
应用场景
在当业务系统服务器无法支撑当前的业务量时,用户可以选择更高性能的服务器。但更为合理的做法是通过在既有业务服务器基础上,增量的方式增加相同功能的服务器,将计算任务分摊到后台多台较低配置的服务器处理,每台服务器都可以响应服务请求。实现合理安排客户请求并加快了请求相应速度,来提高用户体验。而用户仅感受到是一台高性能服务器在提供服务。
负载均衡硬件
名称 参数 优势
F5 BIG-IP LTM 3900
处理器:单CPU
基本内存:8GB
硬盘:500GB
端口:8个千兆端口,4个可选千兆光纤端口
全面的负载均衡,应用状态监控,高可用性和交易保障,广域流量管理器,链路控制器;智能应用交换,智能压缩,灵活的第7层速率整形
深信服AD-2000
吞吐性能:2Gbps 网口配置:6个千兆电口、2个千兆光口 尺寸:标准2U 电源:单电源(可选配冗余电源)
包含链路负载均衡、服务器负载均衡、全局负载均衡、商业智能分析功能,以及缓存、压缩、SSL卸载、TCP连接复用等优化特性。支持单边加速功能,提高低质量网络环境下远端用户的访问速度
Array APV 3520
网络端口配置:12或16个10/100/1000Base-TX,4个SFP插槽 控制端口:Male DB9系列(RS232)端口
背板带宽:48G/52G 4层
吞吐量:4G
交流电源:100-240VAC,63-47Hz,冗余电源,热插拔
梭子鱼Model 340(BSFI340-e3
每秒连接50,000CPS,支持多达35台服务器,最大并发连接数2,000,000,SSL加速150TPS,应用程序吞吐1000M,快速4-7层负载均衡,web管理界面,强大IP保持能力,7层cookie保持,支持TCP/UDP负载均衡
提供路由及桥接模式,强大的DDoS防护,灵活的计划选择,服务访问控制表,应用程序智能
Foundry ServerIronXL(FCSLB24)
24-端口10/100Base-TX(RJ-45)ServerIronXL,具有1个扩展插槽,集成的2-7层交换
高可用的服务器负载均衡,强大的内容交换,可根据URL, Cookie 和 SSL Session ID 交换,透明缓存交换,高性能VPN/Firewall 负载均衡,链路负载均衡
负载均衡软件
名称 说明 优点 缺点
Nginx
基于Linux的开源免费的负载均衡软件,适用于中小型的Web应用、Web前端
1.工作在网络的7层之上,可针对http应用做一些分流的策略;
2.Nginx对网络稳定性的依赖非常小;
3.以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些;
4.可通过端口检测到服务器内部的故障;可作为中层反向代理使用。
1.Nginx仅能支持http、https和Email协议,这样就在适用范围上面小些。
2.对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测。不支持Session的直接保持,但能通过ip_hash来解决
LVS
基于Linux的开源免费的负载均衡软件,大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。后端采用MySQL数据库一主多从和读写分离,采用LVS+Keepalived的架构。
1.抗负载能力强,是工作在网络4层之上仅作分发之用,没有流量的产生,对内存和cpu资源消耗比较低。
2.配置性比较低,大大减少了人为出错的几率。
3.工作稳定,其本身抗负载能力很强,自身有完整的双机热备方案,如LVS+Keepalived。
4.无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会收到大流量的影响。
5.应用范围较广,LVS工作在4层,它几乎可以对所有应用做负载均衡,包括http、数据库、在线聊天室等等。
1.软件本身不支持正则表达式处理,不能做动静分离;而现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在。
2.如果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了,特别后面有Windows Server的机器的话,如果实施及配置还有维护过程就比较复杂了,相对而言,Nginx/HAProxy+Keepalived就简单多了。
Haproxy
基于Linux的开源免费的负载均衡软件,适用于Web前端
1.支持虚拟主机。
2.支持Session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。
3.比Nginx有更出色的负载均衡速度,在并发处理上也优于Nginx。
4.支持TCP协议的负载均衡转发。
5.HAProxy负载均衡策略非常多。
针对域名、目录结构,它的正则规则没有nginx比HAProxy强大和灵活