HAProxy负载平衡集群实例

HAProxy分析

 

优点

 -支持session,cookie功能

-可以通过url进行健康检查

- 效率.负载均衡速度,高于Nginx,低于LVS

-HAProxy支持TCP,可以对MySQL进行负载均衡

-调度算法丰富

缺点

-正则弱于Nginx

-日志依赖于syslogd

 HAProxy实例

1.准备

web1:192.168.2.100/24     web2:192.168.2.200/24

HAProxy:192.168.4.5/24        192.168.2.5/24

2.配置后端web服务器

[root@web1 ~]# yum -y install httpd
[root@web1 ~]# systemctl start httpd
[root@web1 ~]# echo "192.168.2.100" > /var/www/html/index.html

[root@web2 ~]# yum -y install httpd
[root@web2 ~]# systemctl start httpd
[root@web2 ~]# echo "192.168.2.200" > /var/www/html/index.html

3.部署HAProxy服务器

[root@proxy ~]# yum -y install haproxy
[root@proxy ~]# vim /etc/haproxy/haproxy.cfg
global (代表全局配置)
 log 127.0.0.1 local2   ##[err warning info debug]
 pidfile /var/run/haproxy.pid ##haproxy的pid存放路径
 user haproxy
 group haproxy
 daemon                    ##以后台进程的方式启动服务
defaults
 mode http  ##默认的模式mode { tcp(四层代理)|http(七层代理)|health (不代理)} 
option dontlognull      ##不记录健康检查的日志信息(影响访问日志)
 option httpclose        ##每次请求完毕后主动关闭http通道
 option httplog          ##日志类别http日志格式(1。谁访问,2.用户名或‘/’3.什么人,什么时间,访问的网页,访问的结果,客户端的访问方式)
 option redispatch      ##当某个服务器挂掉后强制定向到其他健康服务器
 timeout client 300000 ##客户端连接超时,默认毫秒,也可以加时间单位
 timeout server 300000 ##服务器连接超时
 maxconn  3000          ##最大连接数
 retries  3             ##3次连接失败就认为服务不可用,也可以通过后面设置
 添加:
listen  websrv-rewrite 0.0.0.0:80(*可以代表0.0.0.0)          
   balance roundrobin(轮询,不写默认论循)
   server  web1 192.168.2.100:80 check inter 2000 rise 2 fall 5
   server  web2 192.168.2.200:80 check inter 2000 rise 2 fall 5
#定义集群,listen后面的名称任意,端口为80
#balance指定调度算法为轮询(不能用简写的rr)
#server指定后端真实服务器,web1和web2的名称可以任意
#check代表健康检查,inter设定健康检查的时间间隔,rise定义成功次数,fall定义失败次数
打完就可以重起了

listen stats *:1080        #(名字可以随便写)监听端口
    stats refresh 30s             #统计页面自动刷新时间
    stats uri /stats           #统计页面url(nginx和haproxy写什么浏览器就访问哪个)
    stats realm Haproxy Manager #进入管理解面查看状态信息
    stats auth admin:admin       #统计页面用户名和密码设置

3)启动服务器并设置开机启动并客户端验证

客户端配置与HAProxy相同网络的IP地址,
并使用火狐浏览器访问http://192.168.4.5,测试调度器是否正常工作,
客户端访问http://192.168.4.5:1080/stats测试状态监控页面是否正常。
访问状态监控页的内容

 

Queue队列数据的信息(当前队列数量,最大值,队列限制数量);
Session rate每秒会话率(当前值,最大值,限制数量);
Sessions总会话量(当前值,最大值,总量,Lbtot: total number of times a server was selected选中一台服务器所用的总时间);
Bytes(入站、出站流量);
Denied(拒绝请求、拒绝回应);
Errors(错误请求、错误连接、错误回应);
Warnings(重新尝试警告retry、重新连接redispatches);
Server(状态、最后检查的时间(多久前执行的最后一次检查)、权重、备份服务器数量、down机服务器数量、down机时长)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值