我即将将网站从一个服务提供商迁移到另一个服务提供商。 先前的迁移是由托管公司执行的,这导致了很大的问题,用户数据/帖子/注册被发布到2个不同的服务器,具体取决于他们使用的DNS服务器。 之后合并数据库很困难,因为在两个数据库上,自动增量值已经移动,当合并2个数据库时,主键/自动增量值重叠,导致该行未被导入/插入,或者该行覆盖前一个。
有没有办法......将到达旧服务器的用户重定向到新服务器,以避免数据库不同步。
我可以使用任何技巧/提示来避免再次发生这种情况吗?
答案 0 :(得分:1)
设置两台服务器并进行测试以确保它们都能正常工作。
在新服务器(您要切换到的服务器上)将所有请求代理回旧服务器Apache示例
ProxyPass / http://oldip:80/
ProxyPassReverse / http://oldip:80/
将DNS切换到指向新服务器的位置。
等待24-48小时,确保所有流量现在都通过新服务器路由回旧服务器。
删除代理设置。 停止阿帕奇 做一个数据库的备份 将它们发送到新服务器 恢复数据库备份 启动apache。
您可以编写一个脚本来执行此操作。
要加速数据库备份,您可以使用binlog,这样您只需要传输更新的
当您对新服务器正常工作感到高兴时。停止旧服务器运行。
应该在少量停机时间内工作。
或者,减少DNS上的TTL(注意:并非所有DNS缓存都尊重这个,如果它很小)等待该更改进行处理 切换到具有更高TTL的新服务器,由于旧的TTL非常小,大多数人都不会受影响。
另外,使当前站点只读,直到切换发生。