一.概念
HAproxy:是免费急速且可靠的用于为tcp和基于http应用程序提高高可用负载均衡和代理服务的解决方案,尤其适用于高负载且需要持久连接或者七层处理机制的web站点。
功能:七层反向代理,四层负载均衡。
缓存的作用:
减少冗余内容的传输,节省带宽,缓解网络瓶颈,降低了对原始服务器的请求压力,降低了传输延迟。
haproxy用的数据结构是弹性二叉树。
目前有两个版本:1.4的主要弹性较好。1.3主要是内容交换
二.配置haproxy
1)安装
查看haproxy的安装包信息
[[email protected] ~]# yum info haproxy
安装haproxy
[[email protected] ~]# yum install haproxy -y
主配置文件路径:
/etc/haproxy/haproxy.cfg
全局配置段:
global配置代理相关的特性
代理配置段:
“defaults”段用于为所有其它配置段提供默认参数,这配置默认配置参数可由下一个“defaults”所重新设定。
“frontend”段用于定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接。
“backend”段用于定义一系列“后端”服务器,代理将会将对应客户端的请求转发至这些服务器。
“listen”段通过关联“前端”和“后端”定义了一个完整的代理,通常只对TCP流量有用。
所有代理的名称只能使用大写字母、小写字母、数字、-(中线)、_(下划线)、.(点号)和:(冒号)。此外,ACL名称会区分字母大小写。
配置段的优先级:命令行参数,global,proxies
2)添加haproxy日志记录
1,haproxy配置文件中找到日志段:
log 127.0.0.1 local2
2,修改日志配置文件
[[email protected] haproxy]# vim /etc/rsyslog.conf
3,启用日志监听的端口:
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
4,添加日志记录位置:
local2.* /var/log/haproxy.log
5,重启rsyslog之后,查看udp的514端口
[[email protected] haproxy]# service rsyslog restart
3)配置启动haproxy
frontend web *:80 //web为frontend的名称,*:80为代理监听的端口为80
default_backend webserver
backend webserver
balance roundrobin //轮询的方式
server app1 172.16.249.164:80 check //app1标识名,check为健康检查
server app2 172.16.0.1:80 check
重启之后即可访问:
[[email protected] haproxy]# service haproxy restart