在多个应用程序实例之间将多个数据库同步到一台集中式服务器

时间:2019-01-28 18:27:28

标签: php mysql rest api cloud

我有一个在PHP上运行的Web应用程序,在MySQL中有数据库。每个公司都有其本地服务器和该应用程序的自己的实例(赛车场),以及一个云服务器也有其自己的实例。

我有一些表格,如“用户”,“票证”,“比赛结果”。每个表与其他表都有某种关系。我需要在应用程序的云实例上保存“用户”,“票证”,并将其分发到其他大厅实例。 RaceResults只需要上传到云。

我有一个使用以下步骤进行操作的想法:

  • 我要进入云的每个表都需要有cloud_id列,以记住存储在云中的记录的ID。
  • 我需要在客户端和服务器上都创建一个REST API-每当我需要同步记录时,客户端都会向服务器发送api请求-云返回新ID-并在需要时将这些记录分发给其他客户端实例。
  • 我要同步的每个表都有自己的关系-需要在客户端或服务器上解决-例如ticket.user_id与客户端实例不同-这些列中的每一个都需要在发送或发送之前进行更改收到订单后

我不喜欢这种方法

  • 在调试和错误处理期间存在很多问题-如果在票据中不存在该特定用户,该怎么办?
  • 如果我要集中删除驱动程序会发生什么-如果在云数据库中删除该驱动程序,它必须以某种方式在其他计算机上进行处理
  • 我同步的每个表都有自己的同步流程,自己的代码来更改要发送的字段(例如,在发送到云之前,ticket.user_id必须更改为users.cloud_id)
  • 如果我将另一个客户端实例(大厅)添加到堆栈中,则需要将所有票证同步到新大厅。从同步堆栈中删除客户端实例时,需要将它们删除。这一切都带有很多代码,我必须亲自为每个特定案例编写。

我的问题是,对于类似的东西,是否有可行的解决方案,或者我做错了吗?

0 个答案:

没有答案