高可用负载均衡相关组件选型
衡量负载均衡器的重要因素:
会话率: 单位时间内处理请求数
会话并发能力:并发处理能力
数据率: 处理数据能力
最终选型为 HAProxy + Nginx + Keepalived
其中HAProxy作为入口进行负载均衡, 流量分发 多个Nginx节点承载流量 每个Nginx节点对应一个Keepalived保活, 确保Nginx节点宕机后可以迅速拉起
F5
F5全称 F5-BIG-IP-GTM 全球流量管理器, 是一款专业的硬件负载均衡设备, 最大并发连接数5亿级
F5负载均衡设备稳定性高,功能强大,可工作在第四层或者第七层
F5具备高度的可扩展性和灵活性,它可以根据实际需求进行配置和定制,以满足不同规模和复杂度的应用环境
土豪专供
LVS
LVS全称Linux Virtual Server, 是纯粹的开源软件, 性能依赖于主机的运算能力
工作在网络4层之上, 通过vrrp协议转发(仅作分发之用,没有流量的产生), 对内存和cpu资源消耗比较低
工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,如LVS+keepalived
运维复杂, 不支持正则表达式处理,不能做动静分离
HAProxy
HAProxy跟LVS类似,是一款负载均衡软件
HAProxy比Nginx有更出色的负载均衡速度,在并发处理上优于Nginx
HAProxy支持虚拟主机,可以工作在4、7层(支持多网段)
HAProxy支持的负载均衡策略比较多:
轮询
连接数最少优先
权重
加权源地址哈希
加权URL哈希
加权参数哈希
加权header哈希
TCP请求哈希
不支持热更新
Nginx
工作在网络7层之上
可针对http应用做一些分流的策略,如针对域名、目录结构
正规规则比HAProxy更为强大和灵活
Nginx安装与配置比较简单
可以承担高负载压力且稳定,硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS小
可作为中层反向代理使用, 同时也是强大的Web应用服务器
可作为静态网页和图片服务器
Keepalived
顾名思义: 保活 基于VRRP协议来实现的LVS服务高可用方案,可以利用起来避免单点故障 keepalived常用来根据脚本来检测各种程序或者服务是否正常, 进行故障迁移或者重启