目录
2.5 Nginx ,LVS ,Haproxy 各自的优点与缺点
一. web介绍
1.1 常见的web集群调度器
web集群调度器分为软件和硬件
1.2 常见软件调度器及其特点
LVS:性能最好,搭建复杂
Nginx:性能较好,但集群节点健康检查功能呢不强,高并发性能较弱
Haproxy:高并发性能好
1.3 常见硬件调度器
梭子鱼、绿盟、F5、Array
二.Haproxy的概述
2.1 Haproxy的作用
- Haproxy是可以提供高可用,负载均衡,以及基于TCP 和HTTP 应用的代理,是免费、快速并且可靠的一种解决方案。
- Haproxy 非常适用于并发大(并发1w 以上) web 站点。这些站点通常又需要会话保持或7层处理。
- Haproxy的运行模式使得它可以很简单安全的整合至当前的架构中。同时可以保护web服务器不暴露到网络上。
2.2 Haproxy的特性
1. 可靠性和稳定性非常好,可以与硬件级的F5负载均衡设备相媲美;
2. 最高可以同时维护40000-50000个并发连接,单位时间内处理的最大请求数为20000个,最大处3. 理能力可达10Git/s;
4. 支持多达8种负载均衡算法;
5. 支持Session会话保持,Cookie的引导;
6. 支持通过获取指定的url来检测后端服务器的状态;
7. 支持虚机主机功能,从而实现web负载均衡更加灵活;
8. 支持连接拒绝、全透明代理等独特的功能;
9. 拥有强大的ACL支持,用于访问控制;
10. 支持TCP协议的负载均衡转发;(支持7层代理、实现动静分离)
11. 支持客户端的keepalive功能,减少客户端与haproxy的多次三次握手导致资源浪费,让多个请 求在一个tcp连接中完成
2.3 Haproxy应用分析
LVS在企业应用中抗负载能力很强,但存在不足
1. LVS不支持正则处理,不能实现动静分离
2. 对于大型网站,LVS的实施配置复杂,维护成本相对较高
Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理软件
1. 适用于负载大的web站点
2. 运行在硬件上可支持数以万计的并发连接的连接请求
2.4 Haproxy 的调度算法
HAProxy负载均衡策略非常多,常见的有如下8种:
- roundrdbin,表示简单的轮询
- static-rr,表示根据权重
- leastconn,表示最少连接者先处理
- source,表示根据请求源IP
- uri,表示根据请求的URI,做cdn需使用;
- url param,表示根据请求的URl参数' balance url param’ requires an URL parameter name
- hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
- rdp-cookie (name),表示根据据cookie (name)来锁定并哈希每一次TCP请求.