haproxy负载均衡
haproxy:基于C语言开发的开源软件
支持高性能的tcp和http负载均衡器,工作中用的版本1.5.9
haproxy功能:主要用于高并发的web站点,工作原理和nginx、lvs都一样
haproxy缺点: 单节点部署,单实例运行。代理服务器出现故障,整个负载集群全部不可用。
正常功能:
1、tcp和http的反向代理
2、https的代理配置
3、可以针对http请求添加cookie,转发到后端服务器(添加缓存)
4、也支持主备切换(keepalive)
5、基于端口的实时监控
6、压缩响应的报文
haproxy的特点
1、可靠性和稳定非常好,可以和硬件F5 BIG 负载均衡的硬件设备
2、可以同时维护4w-5w个并发,单位时间内处理最大的请求20000个
3、支持8中负载均衡算法。但是haproxy不带缓存功能,但是可以支持会话保持
4、也支持配置虚拟主机。
haproxy的负载均衡算法:
lvs nginx haproxy三种负载均衡的区别
/etc/haproxy/haproxy.cfg内容说明
nginx-haproxy负载均衡
1、haproxy代理服务器
192.168.10.10
2、web服务器
192.168.10.20
192.168.10.30
提供 nginx 页面服务
数据流向
haproxy代理服务器(七层
Haproxy的日志重定义
日志单独存放
nginx服务
keepalive_timeout 65; 注释掉或将其改为0
haproxy服务
vim /etc/haproxy/haproxy.cfg
global
log /dev/log local0 info
log /dev/log local0 notice
systemctl restart haproxy
vim /etc/rsyslog.d/haproxy.conf
....................
if ($programname == 'haproxy' and $syslogseverity-text == 'info')
then -/var/log/haproxy/haproxy-info.log
&~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice')
then -/var/log/haproxy/haproxy-notice.log
&~
只能添加ifno和notice其他的要手动添加,格式类似
....................
systemctl restart rsyslog.service
haproxy日志会修改到cd /var/log/haproxy/下,/var/log/messages中将不会显示haproxy的日志