Haproxy
haproxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。haproxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。haproxy的社区非常活跃,版本更新快速(最新稳定版1.7.2于2017/01/13推出)。最关键的是haproxy具备媲美商用负载均衡器的性能和稳定性。因为haproxy的上述优点,它当前不仅仅是免费负载均衡软件的首选,更几乎成为了唯一选择。
Haproxy的核心功能
- 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
- 健康检查:支持TCP和HTTP两种健康检查模式
- 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
- SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
- HTTP请求重写与重定向
- 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态
配置
global
maxconn 2048 #最大同时256连接
defaults
mode http #http模式
timeout connect 15000ms #连接server端超时15s
timeout client 15000ms #客户端响应超时15s
timeout server 15000ms #server端响应超时50s
balance roundrobin #负载均衡策略
frontend http-in #前端服务http-in
bind *:8080 #监听8080端口
default_backend servers #请求转发至名为"servers"的后端服务
backend servers #后端服务servers
server server1 192.168.10.25:7010 maxconn 128 check inter 2000 fall 2 #backend servers中只有一个后端服务,名字叫server1(192.168.10.25:7010),HAProxy同时最多向这个服务发起128个连接