讲师中心 微信公众号
AI工具推荐 视频效率加速

Apache 中 Tomcat 部署怎么在主备高可用架构中实现故障自动转移

云雪吖_5118

云雪吖_5118

发布时间:2026-09-02 07:08:39

|

1028人浏览过

|

来源于php中文网

原创

Apache与Tomcat主备高可用由Keepalived(VIP漂移)、健康检查脚本(业务级探测)、Apache(反向代理+后端健康剔除)和Tomcat(无状态+外置会话)协同实现,核心是“谁发现故障、谁触发切换、谁承接流量”。

apache 中 tomcat 部署怎么在主备高可用架构中实现故障自动转移

Apache 与 Tomcat 联合构建主备高可用架构时,故障自动转移不是靠单个组件完成的,而是由 Keepalived(负责 VIP 漂移)、健康检查脚本(探测服务存活)、Apache(反向代理/负载分发)和 Tomcat(应用层无状态或会话外置)四者协同实现。核心在于“谁发现故障、谁触发切换、谁承接流量”。

Keepalived 管理虚拟 IP 漂移

Keepalived 是主备切换的执行中枢,通过 VRRP 协议在主节点和备节点间选举 MASTER 角色,并绑定同一个 VIP(如 10.10.0.40)。当主节点异常,备节点在几秒内接管 VIP,所有发往该 IP 的请求自然转向备机。

  • 主节点配置 state MASTER、优先级(如 priority 100),备节点设为 state BACKUP、较低优先级(如 priority 90)
  • 必须配置 track_script 关联自定义健康检查脚本(如检测 Apache 是否响应 /health 或端口 80 是否监听)
  • 一旦脚本返回非零值,Keepalived 自动降级自身状态,触发 VRRP 投票,备节点升为 MASTER 并绑定 VIP

Apache 作为反向代理承担流量分发与健康感知

Apache 不仅转发请求到后端 Tomcat,还可通过 mod_proxy_balancer 实现主动健康检查,剔除不可用节点。即使 Keepalived 已完成 VIP 切换,Apache 仍需确保不把请求打到已宕机的 Tomcat 实例上。

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

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

下载
  • 启用 ProxyStatus on 和 <Proxy balancer://mycluster> 定义后端 Tomcat 列表
  • 配置 ping=5 参数让 Apache 每 5 秒对每个 Tomcat 发起轻量探测(如 HEAD /)
  • 结合 failonstatus=503 或自定义 retry=60,实现在连续失败后临时下线该 Tomcat 节点
  • 若使用 sticky session,需确保 jvmRoute 与 Tomcat 的 server.xml 中配置一致,避免会话错乱

Tomcat 侧保障无状态与会话可恢复

Tomcat 本身不参与 VIP 切换,但它的部署方式直接影响故障转移是否“无感”。关键是要消除本地状态依赖。

  • 禁用默认 StandardManager,改用 MemcachedSessionManager 或 RedisSessionManager,将会话存到共享缓存中
  • 确保每个 Tomcat 实例的 jvmRoute 唯一(如 jvmRoute="tomcat1"),便于 Apache 做粘性路由或故障后重映射
  • 关闭 expireSessionsOnShutdown="true",防止进程退出时主动销毁会话数据
  • 静态资源、上传文件等不能存在本地磁盘,应统一走对象存储或 NFS

健康检查脚本要真实反映服务可用性

Keepalived 的 vrrp_script 如果只检查进程是否存在,就无法发现 Apache 配置错误、Tomcat 启动但未加载应用、或数据库连不上导致 500 的情况。脚本必须深入业务层面。

  • 推荐检查路径如 curl -f -s -o /dev/null http://127.0.0.1:80/health?ready=1,后端返回 200 才算通过
  • 响应时间超 2 秒、返回非 200 状态码、或 body 不含预期字符串(如 "status":"up"),均应退出并返回非零码
  • 脚本中加入日志记录(如 echo "$(date): fail" >> /var/log/keepalived_health.log),便于复盘切换原因
  • 避免检查过于频繁(interval 2 已足够),防止压垮健康接口

热门AI工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

785

2023.10.26

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

304

2024.02.23

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

489

2024.02.23

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

285

2024.02.23

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

348

2024.02.23

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

349

2024.02.23

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

581

2024.02.23

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

322

2024.02.23

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

40

2026.10.16

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn