HAProxy(High Availability Proxy)是一款开源的高性能负载均衡器与反向代理服务器,主要用于在多个后端服务器之间分发网络流量,以提高系统的可用性、可靠性和性能。
它支持TCP(四层)和HTTP(七层)等多种协议,能够根据预设的负载均衡算法(如轮询、加权轮询、最少连接数等)将客户端请求合理分配到后端服务器集群,同时具备健康检查机制,可自动检测并隔离故障节点,确保服务持续可用。 此外,HAProxy还提供了SSL终止、会话保持、流量控制、日志记录等功能,广泛应用于高并发的Web服务、微服务架构、数据库集群等场景,帮助构建高可用的分布式系统。
一、实验环境设定
haproxy:
IP:172.25.254.100


RS1:
IP:172.25.254.10

安装nginx

检查防火墙关了没

RS2:
IP:172.25.254.20

安装nginx

检查火墙关了没

二、haproxy的安装及软件基本信息
haproxy的安装:
查看发现系统自带

直接安装

haproxy软件基本信息:
软件安装包:haproxy-2.4.22-3.e19_3.x86_64.rpm
启动文件:/lib/systemd/system/haproxy.service
主配置目录:/etc/haproxy/
主配置文件:/etc/haproxy/haproxy.cfg
子配置目录:/etc/haproxy/conf.d
三、haproxy的负载均衡集群简单示例
配置:
为了编辑的时候更舒服可以先写一个这个

编辑主配置文件

示例结果:

四、haproxy全局配置参数功能介绍
global配置:
log日志叫local2:

运行目录是/var/lib/haproxy:

指定pid文件:

表示最大连接数是4000:

使用的用户身份和组是haproxy:

表示是以守护进程的方式运行,不占用终端:

通过这个可以和程序沟通进行一个热更改:

加密策略指定跟随操作系统:

proxies配置:
Proxies配置-defaults:
表示HAProxy实例使用的连接协议:

指定日志地址和记录日志条目的,此处的 global表示使用 global配置段中设定的log值:

日志记录选项,httplog表示记录与 HTTP会话相关的各种属性值,包括 HTTP请求、会话状态、连接数、源地址以及连接时间等:

dontlognull表示不记录空会话连接日志:

等待客户端完整HTTP请求的时间,此处为等待10s:

透传客户端真实IP至后端web服务器:

当server Id对应的服务器挂掉后,强制定 向到其他健康的服务器,重新派发:

连接后端服务器失败次数:

等待客户端请求完全被接收和处理的最长时间:

设置删除连接和客户端收到503或服务不可用等提示信息前的等待时间:

设置等待服务器连接成功的时间:

设置允许客户端处于非活动状态,即既不发送数据也不接收数据的时间:

设置服务器超时时间,即允许服务器处于既 不接收也不发送数据的非活动时间:

session 会话保持超时时间,此时间段内会转发到相同的后端服务器:

指定后端服务器健康检查的超时时间:
