LAMP架构,如果用户分布在全世界各个国家,一个域名多台服务器如何布署和管理?
1、一个域名如何解析到不同的服务器IP上?
2、多台服务器上就会有多套程序和数据库,如何有效管理和保持代码和数据库的同步?
3、如何让用户访问时自动判断,调用比较近的服务器来提供服务?
提示:希望能提供详细可操作的流程说明
LAMP架构,如果用户分布在全世界各个国家,一个域名多台服务器如何布署和管理?
1、一个域名如何解析到不同的服务器IP上?
2、多台服务器上就会有多套程序和数据库,如何有效管理和保持代码和数据库的同步?
3、如何让用户访问时自动判断,调用比较近的服务器来提供服务?
提示:希望能提供详细可操作的流程说明
1、3 使用负载均衡,阿里云有 SLB 可以用,如果你想自己搭那么搜一下 LVS负载均衡 也有很多相关资料;
2、代码最好是上 CI/CD 工具,数据库的话具体情况具体决策,如果是全部服务器共用数据库,那么这个部署实施不是小问题,需要专门的 DBA 帮你们去做。
15 回答8.2k 阅读
5 回答3.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
或者直接解析到子域名,例如
xxx.com
->zh.xxx.com
, 然后不同子域名对应不同地区服务器。puppet
,如果怕各台服务器代码不同会有问题,就只能先把一部分机器的访问关闭,然后更新这部分服务器,更新后开启这部分的访问同时关闭旧代码服务器访问,这样更新就不会有同一时间点代码不同的情况。数据库同步就比较复杂,涉及到跨机房同步问题,如果只有一个节点允许写入且不要求强一致性(最终一致性),那没啥问题,最多就是数据有一点延迟。如果要多节点写入就会比较麻烦,
MySQL
的组复制就号称可以多个节点同时写数据,不过代价就是一次事务的操作时间会比较高。DNS
分地区省份解析可以做到,也可以用CDN
的动态加速网络自动判断最佳源站。