1.集群概述
1.1集群是什么?
集群是一组协同工作的服务器,各有分工,对外表现为一个整体。
1.2为什么使用集群?
单个服务器的能力终究是有上限的,面对信息爆炸的流量时代,单台服务器远不能承担数据带来的压力,所以就需要多台服务器组成集群分享压力协同工作。
2.集群的分类
负载均衡集群 – LBC: 分担服务的总体压力
高可用集群 – HAC: 尽可能的保障服务状态的可用性
高性能运算集群 – HPC: 提供单台服务器提供不了的计算能力(日常不太能用到)
LBC
作用:减轻单台服务器的压力,将用户请求分享组服务器共同处理
实现方法:
软件:lvs,nginx,rac
硬件:F5(思科中继设备)
使用范围:业务较大的并发处理场景
HAC
作用:保证用户访问的持久性,不间断提供服务
实现方法:
软件:keepalived,rose
硬件:F5(思科中继设备)
使用范围:需要持续提供服务的场景
HPC
作用:提供单台服务器提供不了的计算能力
使用范围:天气计算
3.负载均衡集群原理
lvs负载集群特点:
1.抗负载能力强,抗并发能力强,能达到F5硬件的百分之六十。
2.工作在四层网络接口,通过vrrp协议伪装转发地址(仅做分发作用),不产生数据流量。
3.稳定可靠有具体的热备方案(lvs+keepalived)。
4.应用范围广,可对所有应用做负载均衡。
5.不支持正则,不支持动静分离。
6.配置复杂,对网络依赖很高。
nginx负载均衡特点:
1.工作在七层应用层,可以针对http应用来做一些分流的策略。
2.nginx对网络依赖较小,理论上能ping通就可以配置。
3.安装配置简单,测试起来很方便。
4.抗负载并发能力不如lvs,因为请求都需要由nginx先存储才能转发,对nginx性能要求高。
5.稳定可靠有具体的热备方案(lvs+keepalived)。
lvs与nginx的应用场景
1.网站建设初期可以使用nginx作为反向代理负载均衡,因为配置简单,性能也能满足一般的的业务场景。考虑到高可用可以使用nginx+keepalived做替补负载均衡服务器。
2.网站并发到达一定量后,可以考虑使用lvs来提高 稳定性和效率。毕竟lvs比nginx更稳定,转发效率也更高。不过对维护人员要求更高,投入成本也更大。