目标:在两个香港云(A、B)上实现业务高可用与快速故障切换;小分段:1) 明确RTO/RPO(例如RTO≤1分钟,RPO≤5分钟);2) 决定主动-主动(双活)或主动-被动(主备)模型;3) 选定同步机制(实时数据库复制、对象存储同步、会话存储)。
步骤:1) 在两家云上准备相同的VPC网络、安全组和镜像(相同操作系统、部署脚本);2) 使用IaC(Terraform/Ansible)定义实例、子网与安全策略;3) 验证端口连通(SSH/HTTP/DB)并做镜像快照备份。
步骤:1) 在每侧配置NAT、路由表和内网互联(如VPN/互联专线或公网加密通道);2) 配置安全组允许健康检查端口和管理IP访问;3) 配置ACL和WAF规则,确保跨云流量被允许且受控。
步骤:1) 优先采用云提供的公网/内网负载均衡器(NLB/ALB)做流量分发;2) 若需自建,使用HAProxy/Nginx+Keepalived做四层/七层负载均衡并绑定虚拟浮动IP;3) 配置后端池,设定健康检查路径与超时、权重机制。
步骤:1) 在LB上配置HTTP(S)健康检查(/healthz),返回200即为正常;2) 设置重试次数和不健康阈值(例如连续3次失败)以及恢复阈值;3) 在每台主机安装本地进程监控并上报至监控系统。
步骤:1) 优先采用无状态方案(JWT或客户端token);2) 若需状态,使用Redis集群或托管Redis(设置主从复制和哨兵/Cluster);3) 在LB上根据需求启用或禁用会话粘滞(短TTL)并测试切换后用户体验。

步骤:1) 静态文件优先放对象存储(S3兼容),在两云都使用对象存储或跨云提供商的多区域复制;2) 若使用本地存储,采用Rsync/lsyncd或rclone定时双向同步并使用文件锁避免冲突;3) 验证一致性(md5校验)并建立回滚机制。
步骤:1) 对于MySQL,使用主主或主从+半同步复制,保证主端写入可跨云复制;2) 设计读写分离、配置GTID避免冲突,并设置延迟监控;3) 制定故障切换步骤:提升备节点、更新应用DB连接串或通过代理(ProxySQL)切换。
步骤:1) 部署Prometheus+Grafana/云监控,监测LB、实例、DB延迟与复制滞后;2) 设置告警策略(流量异常、健康检查失败、复制延迟);3) 定期做故障演练(模拟机房故障、关断云A),记录RTO并优化流程。
答:采用短TTL(60-120秒)+主动监控结合DNS自动化更新。步骤:1) 将域名指向全局流量管理器或DNS提供的健康检测;2) 当A侧健康检查失败,通过API自动更新DNS记录指向B侧或全球LB;3) 配合CDN与缓存清理,测试DNS切换后用户访问;注意TTL过短会增加解析量和成本。
答:采用同步或半同步复制、并结合应用端去重与幂等设计。步骤:1) 数据库配置半同步/主主复制并监控延迟;2) 关键业务走分布式事务或补偿机制;3) 定期备份并做跨云快照,保障RPO目标与可回滚性。
答:回滚与验证步骤:1) 恢复原侧后先在灰度环境验证数据和应用一致性;2) 如采用DNS切换,先回切低流量测试再全面回切;3) 检查监控指标(错误率、响应时长、DB延迟),并记录演练报告与改进项。