apache http server 默认通过 mod_proxy_balancer 实现轮询负载均衡,需启用 proxy、proxy_balancer、proxy_http 三模块,配置 balancer:// 集群及 proxypass 映射,并推荐设置权重、健康检查与故障重试。
apache http server 实现轮询策略的负载均衡转发,核心是启用代理模块、定义后端服务器集群,并用 proxypass 将请求路由到该集群。它默认采用轮询(round robin)方式分发请求,无需额外指定算法即可生效。
启用必要模块
确保以下三个模块已加载(在 httpd.conf 中取消注释或添加):
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_http_module modules/mod_proxy_http.so
缺少任一模块会导致配置不生效或 Apache 启动失败。修改后需重启服务验证。
定义轮询集群
在 httpd.conf 或虚拟主机配置段中添加如下结构:
<proxy balancer:>
BalancerMember http://192.168.1.10:8080/
BalancerMember http://192.168.1.11:8080/
</proxy>
这里 balancer://mycluster 是集群标识名,两个 BalancerMember 表示后端服务器地址。Apache 会自动按顺序轮流将请求发给它们。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
绑定请求路径与集群
使用 ProxyPass 和 ProxyPassReverse 建立映射关系:
-
ProxyPass / balancer://mycluster/:把所有根路径请求(如/api、/static)转发到集群 -
ProxyPassReverse / balancer://mycluster/:重写响应头中的Location、Set-Cookie等 URL,避免后端重定向暴露真实地址
注意末尾斜杠一致性——前后都带 /,否则路径拼接可能出错。
可选但推荐的增强项
虽非轮询必需,但能提升稳定性与实用性:
- 排除管理界面:
ProxyPass /balancer-manager !,防止外部访问负载均衡控制台 - 设置权重(如性能不均):
BalancerMember http://... loadfactor=2,数值越大分配越多请求 - 启用健康检查:
BalancerMember http://... ping=5,每5秒探测一次存活状态 - 限制重试:
ProxySet maxattempts=2,某节点失败后最多换一个节点重试









