HAProxy

本文介绍了HAProxy作为负载均衡器的配置及其工作模式,包括http和tcp模式,以及健康检查。通过实例展示了如何配置HAProxy并进行客户端访问测试。同时,文章对比了HAProxy与其他负载均衡器如Nginx和LVS的特性,强调了各调度器的适用场景和优缺点。
摘要由CSDN通过智能技术生成

目录

HAProxy

配置haproxy

负载均衡调度器比较:


HAProxy

  • 也是一款实现负载均衡的调度器

  • 适用于负载特别大的web站点

  • HAProxy的工作模式:

    • mode http:只适用于web服务

    • mode tcp:适用于各种服务

    • mode health:仅做健康检查,很少使用

HAProxy配置文件有哪些组成部分?

  • default:为后续的其他部分设置缺省参数,缺省参数可以被后续部分重置;

  • listen:调度服务器监听的IP和端口。

  • server:定义后端真实服务器的IP和端口,健康检查的策略。

配置haproxy

  • 环境准备:

    • client1:eth0 -> 192.168.4.10

    • HAProxy:eth0 -> 192.168.4.5

    • web1:eth0 -> 192.168.4.100

    • web2:eth0 -> 192.168.4.200

  • 初始化配置

# 关闭192.168.4.6
[root@lvs2 ~]# shutdown -h now
# 清理192.168.4.5
[root@lvs1 ~]# yum remove -y ipvsadm keepalived
[root@lvs1 ~]# hostnamectl set-hostname haproxy1
# web服务器,不需要配置vip,不需要改内核参数。但是存在对haproxy也没有影响。

配置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   # 定义本机监听地址,myweb是随便起的名字,0.0.0.0指的是所有的地址
 62     balance roundrobin    # 调度算法为轮询rr
 # 对web服务器做健康检查,2秒检查一次,如果连续2次检查成功,认为服务器是健康的,如果连续5次检查失败,认为服务器坏了
 63     server web1 192.168.4.100 check inter 2000 rise 2 fall 5
 64     server web2 192.168.4.200 check inter 2000 rise 2 fall 5
 65     
 66 listen stats 0.0.0.0:1080  # 定义监控地址,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.4.5:1080/stats
# 客户端访问测试
[root@client1 ~]# for i in {1..6}; do curl http://192.168.4.5/; done
192.168.2.100
apache web server2
192.168.2.100
apache web server2
192.168.2.100
apache web server2

负载均衡调度器比较:

  • nginx:可以工作在第4层和第7层可以跨平台,配置简单,高并发连接,内存消耗小,内置健康检查功能。正则表达式支持的更广泛。但支持的协议少,检查健康状态单一。

  • lvs:效率最高。工作在第4层抗负载能力强,性能强,对内存和cpu消耗较低,配置性较低,自身有完成的双机热备方案,如LVS+Keepalived但不支持正则表达式,不能做动静分离。

  • haproxy:可以工作在第4层和第7层能够补充nginx的一些缺点,如:会话保持,可以根据url来检查健康状态。但支持有限的正则表达式。

  • 单纯效率:Nginx > haproxy > lvs

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值