负载均衡集群——HAProxy

发布于:2024-04-18 ⋅ 阅读:(27) ⋅ 点赞:(0)

目录

1 HAProxy介绍

2 功能简介

3 实验组网介绍

4 实验步骤

4.1 通过 HAProxy 实现简单负载均衡调度功能

步骤 1 安装 HAProxy

步骤 2 修改配置 HAProxy 文件

4.2 HAProxy 监控页面配置

步骤 1 修改 HAProxy 配置文件

步骤 2 查看监控页面

3.3 HAProxy 日志相关配置

步骤 1 修改 HAProxy 配置

步骤 2 修改 rsyslog 配置信息

步骤 3 测试

步骤 4 恢复 Nginx2 配置


HAProxy介绍

        HAProxy是法国开发者 威利塔罗 (Willy Tarreau) 2000 年使用 C 语言开发的一个开源软件,是一款具备高并发( 一万以上 ) 、高性能的 TCP HTTP 负载均衡器,支持基于 cookie 的持久性,自动故障切换,支持正则表达式及web 状态统计,目前最新 TLS 版本为 2.0

功能简介

负载均衡是 HAProxy 基本功能之一
HAProxy 支持四层和七层的负载均衡
HAProxy 基于事件驱动的链接处理模式和单进程处理模式,使其性能更优
HAProxy 支持 ACL 功能
HAProxy 支持图形化监控
HAProxy 支持不少于 10 种的调度算法
TCP HTTP 反向代理
SSL/TSL 服务器
可以针对 HTTP 请求添加 cookie ,进行路由后端服务器
可平衡负载至后端服务器,并支持持久连接
支持所有主服务器故障切换至备用服务器
支持专用端口实现监控服务
支持停止接受新连接请求,而不影响现有连接
可以在双向添加,修改或删除 HTTP 报文首部
响应报文压缩
支持基于 pattern 实现连接请求的访问控制
通过特定的 URI 为授权用户提供详细的状态信息

 不具备的功能:

正向代理--squidnginx

缓存代理 --varnish
web 服务 --nginx tengine apache php tomcat
UDP-- 目前不支持 UDP 协议
单机性能 -- 相比 LVS 性能较差

3 实验组网介绍

        本实验共使用四台虚拟机,其中一台配置为 HAProxy 服务器,两台用于 Nginx 服务器的搭建,剩余一台模拟客户端。其中 Nginx 服务器可以和上一实验复用,并保留上个实验完成后的状态,每台服务器中运行了三个虚拟机主机。HAProxy 使用两块网卡,分别于连接内网和外网:

4 实验步骤

4.1 通过 HAProxy 实现简单负载均衡调度功能

步骤 1 安装 HAProxy

在 HAProxy 对应虚拟机上使用以下命令安装 HAProxy:

[root@HAProxy ~]# yum install -y haproxy

步骤 2 修改配置 HAProxy 文件

HAProxy 配置文件为/etc/haproxy/haproxy.cfg,在修改前建议先备份。

 [root@HAProxy ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bk

 本实验实现 HAProxy 最基础的负载均衡,因此仅需修改 backend 部分即可,具体如下:

[root@HAProxy ~]# vim /etc/haproxy/haproxy.cfg

 

配置完成后,使用命令 “systemctl restart haproxy” 重启 HAProxy 服务,重启后,在客户端访问 HAProxy ,如果配置正确,访问结果如下图所示:

 

4.2 HAProxy 监控页面配置

步骤 1 修改 HAProxy 配置文件

 HAProxy 配置文件中使用 listen 模块配置监控页面,具体为:

[root@HAProxy ~]# vim /etc/haproxy/haproxy.cfg
listen admin_stats
stats enable
bind *:8080 # 监听的 ip 端口号
mode http # 开关
option httplog
log global
maxconn 10
stats refresh 30s # 统计页面自动刷新时间
stats uri /admin # 访问的 uri ip:8080/admin
stats realm haproxy
stats auth admin:admin # 认证用户名和密码
stats hide-version # 隐藏 HAProxy 的版本号
stats admin if TRUE # 管理界面,如果认证成功了,可通过 webui 管理节点

步骤 2 查看监控页面

配置完成后,重启 HAProxy 服务,然后在 PC 上使用浏览器登录页面 http://IP:8443/haproxy_stats,在弹出的窗口中输入用户密码即可登录监控页面,具体如下:

 

3.3 HAProxy 日志相关配置

步骤 1 修改 HAProxy 配置

HAProxy 的日志可以在 global 模块中定义,也可以在 default 或 frontend 中定义,本实验采用 global 中的定义的方式实现,在 HAProxy 配置文件中添加关于日志的配置信息,具体如下:

[root@HAProxy ~]# vim /etc/haproxy/haproxy.cfg

步骤 2 修改 rsyslog 配置信息

在/etc/rsyslog.conf 的末尾增加以下配置内容:

 

步骤 3 测试

配置完成步骤 1 和步骤 2 后,重启 HAProxy 服务和 rsyslog 服务,重启完成后,系统会自动创建指定的日志文件,如下图所示:

Nginx2 上开启防火墙

 [root@Nginx2 ~]# systemctl start firewalld

 查看是否产生对应的日志内容,具体如下图所示:

 

步骤 4 恢复 Nginx2 配置

关闭 Nginx2 上防火墙服务,使业务恢复。