haproxy

前言

本文介绍haproxy

一、haproxy简介

haproxy是一款实现负载均衡的调度器,适用于负载特别大的web站点
优点:
灵活性:haproxy支持丰富的负载均衡算法和会话保持方式,可以根据需求进行灵活配置。
完整的功能:haproxy支持高可用性配置、健康检查、故障恢复、SSL等功能,在负载均衡领域应用广泛。
高性能:haproxy性能优良,能够处理大量并发连接,并且支持异步IO模型。
缺点:
内存占用:相对于Nginx和LVS,haproxy在处理大量连接时消耗的内存稍高一些。
高可用性:haproxy需要借助额外的工具来实现高可用性,例如Keepalived。
haproxy的工作模式:
mode http:只适用于web服务
mode tcp:适用于各种服务
mode health:仅做健康检查,很少使用

二、配置

主机清单:

主机名ip
client1192.168.88.10
haproxy192.168.88.5
web1192.168.88.100
web2192.168.88.200
# 编写ansible脚本配置haproxy(省略了前置配置ansible和yum仓库)
在pubserver上
# vim 01-cfghaproxy.yml
---
- name: config haproxy
  hosts: lvs1
  tasks:
    - name: rm lvs keepalived 
      yum:
        name: ipvsadm,keepalived
        state: absent
    - name: rename hostname       
      shell: hostnamectl set-hostname haproxy1   
    - name: install haproxy      
      yum:
        name: haproxy
        state: present
# 运行ansible
 ansible-playbook 01-cfghaproxy.yml        

修改配置文件haproxy.cfg
配置文件中,global是全局配置;default是缺省配置,如果后续有和default相同的配置,default配置将会被覆盖。
配置文件中,frontend描述haproxy怎么和用户交互;backend描述haproxy怎么和后台应用服务器交互。这两个选项,一般不单独使用,而是合并到一起,名为listen。
将64行之后全部删除,写入以下内容

在lvs1上
# vim /etc/haproxy/haproxy.cfg 
 64 listen myweb
 # 监听在所有可用地址的80端口
 65         bind 0.0.0.0:80 
 # 定义轮询调度
 66         balance roundrobin
 # 对web服务进行健康检查,2s一次如果连续两次成功则正常,若5次失败则服务器坏了
 67         server web1 192.168.88.100:80 check inter 2000 rise 2 fall 5
 68         server web2 192.168.88.200:80 check inter 2000 rise 2 fall 5
 69 
 # 定义虚拟服务器
 70 listen stats
 # 监听所有可用ip的1080端口
 71         bind 0.0.0.0:1080
 # 监控30s刷新一次
 72         stats refresh 30s
 #定义监控地址为/stats
 73         stats uri/stats
 #设置用户名密码都为admin
 74         stats auth admin:admin
 ###
 # 起服务
systemctl start haproxy.service

使用client1验证

for i in {1..6}; do curl http://192.168.88.5/; done
# 也可以使用ab访问测试
yum -y install httpd-tools
ab -n1000 -c200 http://192.168.88.5/

监控信息解释:
Queue:队列长度。Cur当前队列长度,Max最大队列长度,Limit限制长度
Session rate:会话率,每秒钟的会话数
Sessions:会话数
Bytes:字节数。In收到的字节数,Out发出的字节数
Denied:拒绝。Req请求,Resp响应
Errors:错误
Warning:警告
Status:状态
LastChk:上一次检查。L4OK,第四层tcp检查通过
Wght:权重

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值