怎么在Apache中配置ProxyPass的lbset实现多层级容灾集群的优先级调度

轻宇小哥_1340

轻宇小哥_1340

2026-04-29

244人浏览

原创

lbset是balancermember的参数,用于按数值优先级分组实现故障转移:先用lbset=0主集群,全失效后才降级到lbset=1备集群,再失效才启用lbset=2灾备集群。

怎么在apache中配置proxypass的lbset实现多层级容灾集群的优先级调度

Apache 的 mod_proxy_balancer 本身不支持原生的“多层级容灾集群”或“优先级调度(failover chain)”语义,但可通过 lbset 参数实现**按组设定故障转移优先级**——即:先用主集群(lbset=0),全部失效后才启用备用集群(lbset=1),再失效则切至灾备集群(lbset=2)。这是一种轻量、可靠、无需额外模块的多级容灾调度方案。

lbset 是什么?它怎么决定请求流向

lbset(load balancing set)是 BalancerMember 的可选参数,用于将后端节点划分成逻辑组。Apache 负载均衡器会**严格按 lbset 数值从小到大顺序尝试**:只在当前 lbset 内所有节点均不可用(健康检查失败且标记为 down)时,才自动降级到下一个 lbset 组。数值越小,优先级越高。

关键规则:

  • 同一 lbset 内的节点仍按配置的 lbmethod(如 byrequests)轮询或加权分发
  • 不同 lbset 之间是“全组不可用→才切换”的硬性隔离,不混用
  • 未显式指定 lbset 的节点默认属于 lbset=0
  • 必须配合健康检查(status=+H)和 ProxySet failonstatus=503 等机制,才能准确触发降级

三层级容灾集群配置示例(主→备→灾备)

以下配置定义了一个名为 myapp-cluster 的均衡器,包含三组节点:

CPA Update - Secure CLI Proxy API Maintenance
CPA Update - Secure CLI Proxy API Maintenance

安全更新和维护 CLI Proxy API(CPA)部署与配置。用于 CPA 镜像升级、配置变更、认证目录兼容修复、上线验证与回滚。适用于用户提到“CPA 更新/升级/配置改了/容器重建/回滚”等场景。

下载
<proxy balancer:>
  # 主集群:lbset=0,高可用双节点
  BalancerMember http://192.168.10.10:8080 route=node1 loadfactor=1 status=+H lbset=0
  BalancerMember http://192.168.10.11:8080 route=node2 loadfactor=1 status=+H lbset=0
<h1>备集群:lbset=1,同城异地机房</h1><p>BalancerMember <a href="https://www.php.cn/link/e06549ff281b9a38e658c1e22750b816">https://www.php.cn/link/e06549ff281b9a38e658c1e22750b816</a> route=standby1 loadfactor=1 status=+H lbset=1
BalancerMember <a href="https://www.php.cn/link/3ecf70058911d495069ec09c0c8c9190">https://www.php.cn/link/3ecf70058911d495069ec09c0c8c9190</a> route=standby2 loadfactor=1 status=+H lbset=1</p><h1>灾备集群:lbset=2,异地城市,低带宽容忍</h1><p>BalancerMember <a href="https://www.php.cn/link/ed4f2064045ca72b7f2a53f052d82c55">https://www.php.cn/link/ed4f2064045ca72b7f2a53f052d82c55</a> route=dr1 loadfactor=1 status=+H lbset=2</p><h1>全局设置:启用健康检查、失败状态码触发剔除、按请求数调度</h1><p>ProxySet lbmethod=byrequests
ProxySet failonstatus=500,502,503,504
ProxySet timeout=15
ProxySet maxattempts=3
</p></proxy><p>ProxyPass /app/ balancer://myapp-cluster/
ProxyPassReverse /app/ balancer://myapp-cluster/</p>

说明:

  • 正常情况下,所有请求仅打向 192.168.10.x 的两个主节点
  • 若主集群两节点连续失败(如返回 503 或超时),Apache 自动将整个 lbset=0 标记为不可用,开始向 lbset=1 发起请求
  • 只有当 lbset=1 所有节点也全部不可用时,才会启用 lbset=2 的灾备节点
  • maxattempts=3 防止单次请求反复重试同一失败节点;timeout=15 避免长尾拖慢降级判断

必须配套的关键配置项

仅设 lbset 不足以实现稳定容灾,还需激活以下机制:

  • 启用健康检查模块:确保 mod_proxy_balancer 和 mod_slotmem_shm 已加载(CentOS 中常需手动取消 00-proxy.conf 里 slotmem_shm 的注释)
  • 开启周期性探针:在 <proxy></proxy> 外添加全局配置:
    ProxyBadStatus 500 502 503 504
    <location> SetHandler balancer-manager </location> —— 便于人工查看各 lbset 实时状态
  • 后端需返回明确错误码:例如 Spring Boot 应用在熔断时主动返回 503 Service Unavailable,而非静默超时,否则 Apache 无法识别“业务级故障”
  • Session 粘性需跨 lbset 一致:若使用 stickysession=JSESSIONID|route,确保所有节点(包括灾备)的 jvmRoute 值唯一且与 route=xxx 匹配,否则会话丢失

常见误区与验证要点

实际部署中容易忽略的细节:

  • 误以为 lbset 支持“主备同时工作”:它不是权重分流,而是严格的故障链路,lbset=1 在 lbset=0 正常时完全不参与流量
  • 忘记配置 failonstatus:默认 Apache 只根据连接失败或超时判断节点宕机,对 HTTP 5xx 响应不敏感
  • 健康检查路径未暴露:建议在后端加 /health 端点,并在 BalancerMember 后追加 ping=5(每 5 秒探活)
  • 验证方式:手动停掉主集群全部节点 → 查看 /balancer-manager 页面 → 观察 lbset=0 显示 Down、lbset=1 变为 Up,且应用访问持续可用

相关文章

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

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

下载

相关标签:

apache proxy

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

相关专题

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

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

2023.08.15

437

5

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

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

2023.09.08

900

5

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

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

2023.09.19

2772

5

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

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

2023.10.09

936

5

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

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

2023.10.17

829

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

2496

4

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

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

2023.10.20

4632

4

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

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

2023.10.20

747

5

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习