文章目录
什么是负载均衡
负载均衡(Load Balance
,简称LB)是一种服务或基于硬件设备等实现的高可用反向代理
技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特
定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方
便了业务后期的水平动态扩展。
为什么使用负载均衡
• Web服务器的动态水平扩展
• 对用户无感知
• 增加业务并发访问及处理能力
• 解决单服务器瓶颈问题
• 节约公网IP地址
• 降低IT支出成本
• 隐藏内部服务器IP
• 提高内部服务器安全性
• 配置简单
• 固定格式的配置文件
• 功能丰富
• 支持四层和七层,支持动态下线主机
• 性能较强
• 并发数万甚至数十万
常见有哪些负载均衡
软件负载
四层:
LVS:补充支持cookie,所以不支持应用层
nginx:stream
haproxy:mode tcp
七层:
• HAProxy
• Nginx
• ……
硬件负载:
• F5
• Netscaler
四层:Redis、Mysql、RabbitMQ、Memcache等
七层:Nginx、Tomcat、Apache、PHP 、图片、动静分离、API等
一.haproxy
haproxy是一款具备高并发、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计。
HAProxy功能
• HAProxy是TCP / HTTP反向代理服务器,尤其适合于高可用性高并发环境
• 可以针对HTTP请求添加cookie,进行路由后端服务器
• 可平衡负载至后端服务器,并支持持久连接
• 支持基于cookie进行调度
• 支持所有主服务器故障切换至备用服务器
• 支持专用端口实现监控服务
• 支持不影响现有连接情况下停止接受新连接请求
• 可以在双向添加,修改或删除HTTP报文首部
• 支持基于pattern实现连接请求的访问控制
• 通过特定的URI为授权用户提供详细的状态信息
• 历史版本更新功能:1.4 1.5 1.6 1.7 1.8 1.9 2.0-dev
• 1.8:多线程,HTTP/2缓存
• 1.7:服务器动态配置,多类型证书
• 1.6:DNS解析支持,HTTP连接多路复用
• 1.5:开始支持SSL,IPV6,keepalived
官网:可能打不开(你懂的)
http://www.haproxy.org
https://www.haproxy.com
安装haproxy
yum安装
yum install haproxy
Ubuntu 安装:
apt-get install haproxy
编译安装HAProxy
htt