1.

在开始前定义业务目标(延迟阈值、RTO/RPO、读写分布)。建议分三步:1) 列出主要用户群(欧盟、北美、亚太);2) 确定主数据中心(写主/读主)与辅助数据中心;3) 决定是否采用多活或主从架构。示例:欧洲用户以 Contabo 德国机房为主写(低延迟),美国机房作为读扩展与灾备。
2.
在 Contabo 控制面板分别创建德国与美国的 VPS/VDS:选择相同的操作系统(建议 Ubuntu LTS),配置 CPU/内存/磁盘按流量与负载预估。操作步骤:1) 登录 Contabo,选择机房(DE/US);2) 选择实例类型并上传 SSH 公钥;3) 启动实例并记录公网 IP。
示例命令(本地生成密钥并上传):ssh-keygen -t rsa -b 4096 -C "deploy@yourdomain.com" && cat ~/.ssh/id_rsa.pub
3.
登录后做基础加固:更新系统、创建运维用户、配置防火墙。命令示例:apt update && apt upgrade -y;adduser deploy && usermod -aG sudo deploy;ufw allow OpenSSH && ufw allow 80 && ufw allow 443 && ufw enable。安装 fail2ban:apt install fail2ban -y 并启用。
4.
建议在每个机房使用 Nginx+Certbot 提供 HTTPS。安装:apt install nginx certbot python3-certbot-nginx -y。配置站点并使用 certbot --nginx -d example.com --redirect。若使用自建负载,则在本地用 HAProxy 做反向代理:apt install haproxy。
5.
若业务强一致写入集中,建议主写放德国,使用异步复制到美国;若需多写或高可用,推荐 Galera(多主)或使用 MySQL Group Replication。MySQL 主从步骤(简化):在主库 my.cnf 开启 server-id=1、log_bin、gtid_mode=ON;在从库设置 server-id=2 并执行 CHANGE MASTER TO MASTER_HOST='主IP', MASTER_USER='repl', MASTER_PASSWORD='pwd', MASTER_AUTO_POSITION=1;START SLAVE;验证 SHOW SLAVE STATUS\\G。
6.
静态文件推荐使用对象存储(S3 兼容)或 CDN。若必须跨区文件同步,可用 rsync + cron 或 lsyncd,示例 rsync 命令:rsync -avz --delete /var/www/html/ user@us-ip:/var/www/html/。更稳定方案:部署 MinIO(S3)在两端并使用跨站复制或把文件上传到中央 S3(如 Backblaze/Wasabi)+ CDN。
7.
使用支持地理路由或延迟路由的 DNS 服务(如 Cloudflare Traffic Steering、AWS Route53 latency-based、NS1)。配置步骤:1) 在 DNS 提供商创建两个 A 记录指向 DE 和 US IP;2) 启用地理路由或延迟策略,设置健康检查(HTTP/HTTPS);3) 将低优先级备用记录配置为故障转移目标。
8.
对于全球静态内容强烈建议使用 CDN(Cloudflare、Fastly、Akamai)。配置流程:将静态域名 CNAME 指向 CDN,开启缓存策略、压缩与 HTTP/2。若需要 Anycast IP,可考虑 Cloudflare Spectrum 或托管 Anycast 的 CDN 来统一入口。
9.
使用 GitHub Actions / GitLab CI,将部署脚本化:构建镜像 -> 推送镜像仓库 -> 在 DE/US 拉取并重启服务。示例步骤:1) Dockerize 应用;2) 在 CI 中执行 docker push registry/yourapp:tag;3) 通过 SSH 在两端执行 docker pull && docker-compose up -d。为了避免同时写入冲突,可在 CI 中带入环境变量控制主写目标。
10.
部署 Prometheus + Grafana 采集指标,部署 node_exporter、mysqld_exporter。日志可使用 Filebeat -> Elasticsearch 或 Loki。关键是跨区健康检查与告警:在监控中配置延迟、错误率、复制延迟(mysql_slave_seconds_behind_master)等阈值并设置邮件/Slack 告警。
11.
制定并演练切换流程:模拟德国机房不可达,验证 DNS 健康检查把流量切到美国;数据库故障时,按预案提升备用为主(若异步复制则需先检查缺失事务并回放)。记录恢复命令并在演练后复盘改进。
12.
注意不同机房网络出口成本、带宽费用与数据主权合规(GDPR)。评估 CDN vs 跨区复制的成本效益,优先把敏感数据放在合规要求的地区。
13.
答:结合两个机房可以在地理上靠近主要用户群,降低网络延迟、提供容灾能力并分散风险。德国覆盖欧洲与北非,缩短欧盟用户延迟;美国覆盖北美,提升美洲用户体验,同时形成主备或多活拓扑。
14.
答:选择合适复制模式:若强一致性要求高,可采用集中写(单主)+同步/半同步复制或使用分布式数据库(如 Galera)并接受写延迟;若能容忍最终一致性,使用异步复制并通过应用层设计冲突解决和幂等重试。
15.
答:做真实用户监测(RUM)与合成检测(Synthetic monitoring):在不同地区运行 HTTP/ICMP 测试,统计平均/95分位延迟、错误率与页面加载时间;同时检查 CDN 命中率、数据库复制延迟与流量分布,按观测结果优化路由与缓存策略。