GUOXIN · FRONT DESK NUTRITION SETTLEMENT

方案一
两节点人工升主方案

两台服务器一体化部署应用与中间件,通过 Keepalived 管理 VIP;MySQL、Redis及业务文件持续复制,故障后由备机接管。

2 台服务器无独立负载均衡无仲裁节点人工确认中间件升主

最小架构

客户端 / 营养结算终端 → VIP 统一访问地址
↓

主服务器 A

正常承载业务 · Keepalived MASTER · 持有 VIP
Nginx + 业务应用
MySQL 主库
Redis 主节点(AOF + RDB)
业务文件主目录
→
MySQL复制
→
Redis复制
→
文件同步

备服务器 B

故障接管业务 · Keepalived BACKUP · 等待 VIP
Nginx + 业务应用
MySQL 从库
Redis 从节点
业务文件副本

切换策略

VIP 与应用Keepalived在两台服务器上运行,主机故障后VIP自动漂移至备机。
MySQL持续主从复制;检查复制状态后,由运维人工将备库提升为主库。
Redis持续主从复制并开启持久化;检查数据状态后人工将备节点升主。

主机故障后的操作顺序

VIP漂移

备机接管统一访问地址,同时先阻止业务写入。

中间件升主

确认MySQL与Redis复制状态,人工执行升主。

恢复与验证

开放业务,验证登录、结算、订单、支付、退款和定时任务。

重要边界

不设置第三仲裁节点时,不承诺MySQL和Redis无人值守自动升主。 该设计选择“VIP自动切换 + 中间件人工确认切换”,以降低两节点网络分区造成脑裂和双写的风险。
业务真值订单、支付、余额和结算结果必须以MySQL为准,不能只存Redis。
独立备份数据库、Redis持久化文件和附件需备份到两台服务器之外。
实施前确认IP、版本、Redis用途、RPO/RTO、备份策略和切换责任人。