这是可能的,但并不容易。我已经做过几次这样的变体,其中包括2个与Linux系统混合使用的Windows。有几个关键步骤:
1 - 把所有的系统配置参数 - 目录路径,MySQL的凭据,时区,API密钥等 - 在一个文件中。在顶部文件参考(例如,每个PHP文件的require_once('serverinfo.php');
。如果你这样做是正确的,你将最终的代码是,除了那一个文件,相同为多个Linux & Windows系统,只要你使用类似(例如,5.x的)在所有的安装PHP版本
2 - 。转移是一种痛苦,这是毫无疑问的缺点是,你最有可能不能使用任何官方的“复制”不同的,因为(而不是连续不断的)系统我已经使用了两种不同的方法,正确的答案取决于客户的要求,如果传输主要是单向的,两种方法都可以发挥最佳效果
a)添加更新时间戳和传输fla g(如果有2个以上的服务器,则为多个)。每当添加或更新记录时,都将时间戳设置为now()并且transfer = 1。要传输数据,请选择传输= 1的位置,并将所有内容都放入文本文件(CSV,JSON或任何您喜欢的格式),并将其传输到其他系统(FTP,电子邮件等)或系统之间的连接可以使用两个服务器之间的https接口来传输数据“直播”。在接收时,第二台服务器会检查时间戳以确保数据比您已有的数据更新并更新数据库。如果传输是一个实时https接口,请将消息发送回第一台服务器,告诉它清除传输标志。如果传输是基于文件的批处理模式,那么传输标志需要在文件发送时重置(并希望传输到另一端)。
b)您想转移每次转储一切。这可以是mysqldump或您自己编写的等效代码。这比第一种方法简单得多,但一旦数据达到一定的大小时通常不会很好地工作 - 并且您可能已经在那一点上拥有8 GB的数据。
你受了很多伤害。尽管lambda运行node.js并且您使用api网关来调用它,但它仍然是一个不同的开发过程。你将会得到两个不同的代码库。 – Darkrum
AWS RDS从6种不同的数据库引擎中挑选,因此如果本地数据库与AWS RDS中的数据库不同,您将不得不进行一些重写。 – Darkrum
是的,这两个代码库是一个问题,但是与使用客户端强制的所有铃声和哨声来构建新UI的复杂性相比,移植API逻辑非常经济。 –