Apache 负载均衡怎么配置高可用集群实战

夏芳同学_3183

夏芳同学_3183

2026-08-08

875人浏览

原创

apache可通过mod_proxy_balancer等模块构建高可用集群,核心在于与后端集群、会话同步及健康检查协同:启用proxy、proxy_http、proxy_balancer等模块,配置balancermember定义后端节点并设置loadfactor、retry、stickysession和lbmethod,结合ping探测、failonstatus状态码判断及/balancer-manager状态页实现故障感知与人工干预,再通过keepalived vip漂移或dns轮询保障apache自身高可用。

apache 负载均衡怎么配置高可用集群实战

Apache 本身不是天生的高可用负载均衡器,但它可以作为反向代理层构建高可用集群——关键不在于 Apache 单点多强,而在于它如何与后端服务、健康检查、故障转移机制协同工作。真正实现“高可用”,需要 Apache + 后端集群 + 状态同步 + 故障感知四者配合。

一、核心思路:用 Apache 做智能反向代理,而非单点调度器

Apache 不适合直接做“会话保持+动态权重+实时健康探测”的全功能 LB(那是 Nginx Plus 或 HAProxy 的强项),但通过 mod_proxy_balancer + mod_proxy_http + mod_proxy_ajp 组合,完全可以支撑生产级高可用集群。重点是:

  • 所有后端节点必须无状态或共享会话存储(如 Redis、数据库)
  • 启用 stickysession 时,必须配合应用层的 session 复制或集中式 session 管理
  • Apache 自身需部署至少两个实例,并由外部 VIP 或 DNS 轮询/Keepalived 保障其前端高可用

二、基础配置:启用模块并定义后端集群

确保 Apache 已加载必要模块(CentOS/RHEL 下常用路径:/etc/httpd/conf.modules.d/00-proxy.conf):

  • proxy_module
  • proxy_http_module
  • proxy_balancer_module
  • proxy_ajp_module(如对接 Tomcat)
  • status_module(可选,用于查看 balancer 状态页)

在虚拟主机或主配置中添加集群定义:

<proxy balancer:>
    BalancerMember http://192.168.1.10:8080 route=node1 loadfactor=3 retry=60
    BalancerMember http://192.168.1.11:8080 route=node2 loadfactor=3 retry=60
    BalancerMember http://192.168.1.12:8080 status=+H retry=60  # 热备节点
    ProxySet lbmethod=bytraffic
    ProxySet stickysession=ROUTEID
</proxy>

说明:

Apache Superset Dashboard and SQL Exploration Skill
Apache Superset Dashboard and SQL Exploration Skill

Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。

下载
  • loadfactor 控制流量权重;retry 表示失败后多久重新尝试接入
  • status=+H 标记为热备(Hot Standby),仅当其他节点全宕时才启用
  • lbmethod=bytraffic 按响应字节数分配,比轮询更公平;也可用 byrequests 或 bybusyness
  • stickysession=ROUTEID 要求后端应用在 Cookie 中返回 JSESSIONID.node1 类似格式,Apache 才能识别路由

三、高可用强化:健康检查 + 状态页 + 外部冗余

Apache 自带简单健康检查(ping 参数),但生产环境建议增强:

  • 加 ping=5 到每个 BalancerMember:每 5 秒发 HEAD 请求探测
  • 配 failonstatus=503:HTTP 状态码 503 视为失败(适配 Spring Boot Actuator 健康端点)
  • 开放 /balancer-manager 状态页(限制 IP 访问):
    <location>
        SetHandler balancer-manager
        Require ip 192.168.1.0/24
    </location>

    该页面可手动下线故障节点、调整权重、查看实时连接数和错误计数

  • Apache 自身高可用:用 Keepalived 绑定 VIP,在两台 Apache 服务器间自动漂移;或用 DNS 多 A 记录 + TTL 缩短实现软性容灾

四、典型组合场景参考

根据后端类型选择通信协议与优化点:

  • 对接 Tomcat 集群:优先用 AJP(ajp://host:8009),性能更高、支持更细粒度连接管理;需在 Tomcat server.xml 中启用 AJP Connector
  • 对接 Spring Boot / Node.js 等 HTTP 服务:用 http:// 协议,配合 ProxyPreserveHost On 透传原始 Host 头
  • 动静分离:静态资源(JS/CSS/IMG)由 Apache 直接 serve;动态请求交由 balancer 转发,减少后端压力
  • HTTPS 卸载:SSL 终止在 Apache 层,后端走 HTTP,简化证书管理和加密开销

不复杂但容易忽略。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

apache apache 负载均衡

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

880

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2692

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

896

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

809

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2456

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4512

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

727

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Apache Maven 官方安装指南
Apache Maven 官方安装指南

共0课时 | 0人学习

Apache Maven 官方用户中心
Apache Maven 官方用户中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习