目录

  • haproxy的介绍以及部署
  • haproxy
  • 负载均衡调度器比较:
  • 环境准备
  • 配置haproxy


haproxy的介绍以及部署

haproxy

  • HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。
  • HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速(最新稳定版1.7.2于2017/01/13推出)。最关键的是,HAProxy具备媲美商用负载均衡器的性能和稳定性。

负载均衡调度器比较:

  • nginx: 可以工作在第4层和第7层。可以根据url进行负载均衡。正则表达式支持的更广泛。
  • lvs: 效率最高。工作在第4层。
  • haproxy: 可以工作在第4层和第7层。可以根据url进行负载均衡。支持有限的正则表达式。

环境准备

haproxy 配置文件详解 之 backend haproxy部署_负载均衡

  • client1:eth0 -> 192.168.88.10
  • HAProxy:eth0 -> 192.168.88.5
  • web1:eth0 -> 192.168.88.100
  • web2:eth0 -> 192.168.88.200

搭建yum源,在两台web机上部署网站服务

web1->192.168.99.100 web2->apache web server2

配置haproxy

# 装包
[root@haproxy1 ~]# yum install -y haproxy
[root@haproxy1 ~]# vim /etc/haproxy/haproxy.cfg 
# 配置文件中,global是全局配置;default是缺省配置,如果后续有和default相同的配置,default配置将会被覆盖。
# 配置文件中,frontend描述haproxy怎么和用户交互;backend描述haproxy怎么和后台应用服务器交互。这两个选项,一般不单独使用,而是合并到一起,名为listen。
# 将61行之后全部删除,写入以下内容
 61 listen myweb 0.0.0.0:80   # 定义本机监听地址
 62     balance roundrobin    # 调度算法为轮询
 # 对web服务器做健康检查,2秒检查一次,如果连续2次检查成功,认为服务器是健康的,如果连续5次检查失败,认为服务器坏了
 63     server web1 192.168.88.100 check inter 2000 rise 2 fall 5
 64     server web2 192.168.88.200 check inter 2000 rise 2 fall 5
 65     
 66 listen stats 0.0.0.0:1080  # 定义监控地址
 67     stats refresh 30s      # 设置监控页面自动刷新时间为30秒
 68     stats uri /stats       # 定义监控地址是/stats
 69     stats auth admin:admin  # 监控页面的用户名和密码都是admin

# 启服务
[root@haproxy1 ~]# systemctl start haproxy.service 
# 使用firefox访问监控地址 http://192.168.88.5:1080/stats

# 客户端访问测试
[root@client1 ~]# for i in {1..6}; do curl http://192.168.88.5/; done
192.168.99.100
apache web server2
192.168.99.100
apache web server2
192.168.99.100
apache web server2

监控地址 http://192.168.88.5:1080/stats如下:

haproxy 配置文件详解 之 backend haproxy部署_apache_02

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