粗谈负载均衡系统
2019-03-14 本文已影响4人
SilentBillows
一,什么是负载均衡
负载平衡(Load balancing)是一种计算机技术,用来在多个计算机集群、网络连接、CPU、磁碟驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载平衡的多个伺服器组件,取代单一的组件,可以通过冗余提高可靠性。负载平衡服务通常是由专用软件和硬件来完成。 主要作用是将大量作业合理地分摊到多个操作单元上进行执行,用于解决互联网架构中的高并发和高可用的问题。 ------------摘自维基百科
二,负载均衡的本质
负载均衡的本质是为了解决高可用和高并发的问题而出现的。
三,负载均衡器的特性
- 支持负载调节(不同负载均衡算法)
- 故障排除和恢复(keepalived机制)
- DDOS(像TCP握手的 SYN flood攻击,发生在client向server的发起大量的握手,确不回应server,占用大量等待护肤的几口)
- HTTP压缩(nginx可以开启静态资源的gzip压缩)
- SSL截断和加速(部分硬件负载均衡器上包含了SSL的处理---SSL的Flood攻击)
四, 狭义上负载均衡系统
1.硬件上的负载均衡
厂商 | 产品 | 特点 |
---|---|---|
F5 | BIG-IP | 负载均衡、应用交换、会话交换、状态监控、智能网络地址转换、通用持续性、响应错误处理、IPv6网关、高级路由、智能端口镜像、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、内容转换、连接加速、高速缓存、Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护、防火墙—包过滤、包消毒 |
A10 | AX,Thunder | SSL截断和加速,HTTP压缩,TCP复用,Dos攻击防护 ,负载均衡 |
Radware | APPDirector | SSL截断和加速,HTTP压缩,TCP复用,Dos攻击防护 ,负载均衡, |
2.软件上的负载均衡
软件名称 | 负载特性 | 备注 |
---|---|---|
LVS | 支持4层负载,作用网络层(已经被收录到linux内核中) | 多用户服务器内部应用服务做高可用 |
nginx | 支持7层负载 | 网关负载 |
Haproxy | 支持4层负载和7层负载 | 如:内部做mycat的高可用。 |
五,广义上的负载均衡系统
广义上的负载均衡系统应该是一套完整的故障处理机制
负载均衡器在进行服务负载时能够及时的去发现故障的服务,比如某个服务的超时请求相应达到了10%,则任务该服务已经发生了故障,此时则需要在负载的队列中将此服务剔除和收集该故障机的IP和端口信息发送的服务治理系统中,并且将用户的请求请求路由到一个好的服务上边去执行返回。当服务治理系统将故障机进行恢复时,负载均衡器检测到故障机恢复了,此时重新将恢复正常状态的机器加入到负载集合中。总体流程可以参照下图去理解
负载均衡系统