繁体   English   中英

在 laravel 项目中同步 2 个 mysql 数据库的最佳解决方案

[英]best solution to sync 2 mysql databases in a laravel project

我有一个应该在本地主机中运行的 laravel 项目。 但是我们需要添加在应用程序的用户离开他的电脑时进行一些修改的能力,该应用程序在其主机上运行。 我知道我可以将整个项目部署在在线服务器上,但这个解决方案直到现在还不是一个选择。 我们只有一个弱的在线服务器(它比本地主机慢很多); 因此,当用户想要远程进行一些修改时,我们可以将这个弱在线服务器用于这些情况,这几乎每天会不时发生两到三次,而本地主机将承担当天 rest 的繁重工作,这可能一天超过三四百个流程。 我不能在在线服务器上完成全部负载,而它非常慢,而且我们不需要很多在线好处,只是对于应用程序用户可能需要或可能不需要的两到三倍远程修改,所以我不能以 localhost 速度换取在线利益,而我每天只需要两到三次。 我能做什么解决方案。 我知道主从复制和主从复制,但这也不是一个选择。

有什么想法吗,提前谢谢你。

-------------- 关于两种环境(本地和在线)------------ 本地是 windows 运行 xamp 堆栈(apache,mysql,php)服务器是linux(实际上不知道哪个发行版,但无论如何我都无法在那里安装任何工具......只是 php 包与作曲家)

我在上传 laravel 项目时遇到了同样的问题

只需使用 FileZilla 上传您的项目,即使您可以使用最差的互联网速度。 并为自己省去麻烦。

为了回答您的问题,如果我是您,我将在应用程序中创建一个sync_data表。 同步数据表将负责记录各种实体发生的变化。

例如,如果您在 localhost 中更改客户数据,您将在sync_data中保存一个条目,例如type=customer, id=10, action=update, synced=No 并且使用 cron,您可以定期将这些更新(通过保存的 id 获取客户记录)推送到您的在线服务器,这不会使您的在线服务器忙碌。 此外,您的在线用户至少将拥有最新数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM