负载均衡概述
负载均衡(Load Balance)是应用于互联网后台系统架构设计中的各层,它将请求均匀分摊到多个操作单元上执行。
在实际的APP应用程序中,我们知道Web服务群集前总是有负载平衡服务,典型的负载平衡软件使用会根据网站规模的增加而使用不同的技术。 例如,中小型web APP应用程序Nginx就足够了,但对于大型站点和关键服务,可以使用LVS。
主流负载均衡软件
Nginx、LVS、HAProxy是目前使用最广泛的三种负载平衡软件。
最常用的负载均衡软件有LVS、HAProxy和Nginx,结合高可用软件有Heartbeat、Keepalived,可以搭建出承载海量请求的成熟架构如LVS+Keepalived、HAProxy+keepalived等。
Nginx的好处:
1、简单: Nginx安装和配置都非常简单,非常好用
2、重量轻:能承受高负荷压力
3、稳定:用于反向代理,停机概率非常低
4、节约: Nginx对网络稳定性的依赖非常小,理论上只要能ping就可以进行负载功能
5、强大:内置体检; 有很多功能
6、内存消耗少:成本低廉,可以跨平台
Nginx的缺点:
- Nginx不支持url来检测;
- Nginx仅能支持http和Email,这个它的弱势;
LVS的好处:
1、抗负载能力强: LVS内存和cpu资源消耗较低,无流量产生,因此LVS是负载均衡软件中性能最强
2、配置性较低:配置性低,简化操作成本,降低操作失误概率
3、 工作比较稳定:自身有完整的双机热备方案,自身抗负载能力强
4,应用范围广: LVS几乎适用于所有APP应用
LVS的缺点:
- 动作分不开2、大网站LVS Keepalived实施复杂,配置成本高
HA代理的优点:
1、HAProxy支持虚拟主机,由前端命令实现
2.支持会话保留、cookie引导等。
3. 检测支持URL 检测后端的服务器的问题非常有用。
4.和LVS一样,这只是一个负载均衡软件,单纯从效率上来说,HAProxy的负载均衡速度比Nginx好,并发性也比Nginx好。
5、HAProxy可以负载均衡Mysql读取、发现和负载均衡后端的MySQL节点
6. 可以将请求的URL与header中的信息进行匹配,比lvs有更好的7层实现。
HAProxy 的缺点:
1、不支持POP/SMTP协议和SPDY协议。
2.不支持HTTP缓存功能。即它不能是网络服务器
3、重载配置的能力需要进程重启,这也是软重启,但是不使用Nginx重载更流畅,更易用。
4.对多进程模式的支持不够好
三者对比总结:
性能上LVS>HA>Nginx,功能性和便利性上Nginx>HA>LVS。
以下介绍安装说明
HAProxy安装配置说明
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、