如何使用 HAProxy 进行负载均衡?
如何使用 HAProxy 进行负载均衡
1 HAProxy 介绍
1.1 什么是 HAProxy
HAProxy 是一款开源的负载均衡软件,有着高性能、稳定性和可靠性,可以实现端到端 TCP 和 HTTP 连接的负载均衡,是一种先进的应用解决方案, 它可以根据客户端提出的条件作出带有协议、负载均衡算法与存储后端连接的相关配置的过滤处理。
1.2 HAProxy的优势
(1)使用简单,配置文件容易理解; (2)支持TCP/HTTP、SSL、TLS/HTTPS ; (3)支持后端的动态 Agent 状态检查; (4)支持多种负载均衡算法:轮询、权重、会话保持等; (5)支持负载均衡的调度策略:最少连接、最新连接等; (6)可作为反向代理,通过反向代理可以搭建内容缓存服务; (7)可扩展,可编写外部模块; (8)可以监控单个后端服务器; (9)支持 IPVS 的基础上结合 LVS 工具,支持类似 Docker Swarm 的跨仓库负载均衡。
2 安装 HAProxy
2.1 在 Linux 上安装 HAProxy
(1)检查系统要求: 要安装 HAProxy,系统上必须已经安装 libpcre、zlib 和 openssl 等一系列依赖库。可以使用以下命令检查系统是否已经安装了这些依赖库: $ ldd /usr/sbin/haproxy
如果 ldd 命令检查结果没有显示任何缺失的依赖库,则表明系统上已经安装了这些依赖。如果缺失某些依赖库,可以使用 apt-get / yum 等把依赖库安装上 (2)安装 HAProxy 软件包 许多 Linux 发行版都会提供 haproxy 软件包,可以使用 apt-get / yum 和 dnf 等包管理工具用于安装: $ sudo apt-get install haproxy
安装完成后,可以使用以下命令查看 HAProxy 版本: $ haproxy -v
2.2 在 Windows 上安装 HAProxy
HAProxy 也可以安装在 Windows 系统上,可以从官网下载安装文件,在终端中使用 “-install” 和 “-uninstall” 参数分别安装和卸载 HAProxy 服务。包括 Windows 7, Windows 8, Windows Server 2008, Windows Server 2012, Windows Server 2016 在内的各个 Windows 版本均可支持安装和使用。
3 配置 HAProxy
3.1 修改HAProxy配置文件
配置文件是haproxy.cfg,可以根据需求对不同行进行配置,以实现不同类型的负载均衡策略。如我们需要设置负载均衡策略为权重分配,只需在配置文件中进行相应设置即可: global log 127.0.0.1 local2
defaults log global option httplog option dontlognull retries 3 redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000
listen web_http 0.0.0.0:80 balance weighted server S1 192.168.0.101 weight 2 server S2 192.168.0.102 weight 1 server S3 192.168.0.103 weight 3
3.2 启动HAProxy服务
使用以下命令启动 HAProxy 服务: $ sudo /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg
运行此命令后,HAProxy 将开始运行,并监听本地的 80 端口,启用权重分配的负载均衡策略。
3.3 检查HAProxy运行状态
可以使用 service 命令查看 HAProxy 状态,并检查是否已成功启动: $ sudo service haproxy status