全球MySQL数据库架构托管在不同的位置

时间:2015-02-04 11:22:54

标签: mysql database-replication mysql-cluster

我正在开发一个应用程序(Java + MySQL),它将在整个glob的不同服务器上托管(application + db)。相同的应用程序和数据库将在亚洲,欧洲,澳大利亚和北美托管。

为了加快访问速度,应用程序和数据库将托管在不同的服务器上,当用户尝试访问应用程序时,靠近用户位置的服务器将会服务。

但所有地点的数据都是一样的。这意味着当数据将在欧洲的服务器中更新时,它还将同步/更新亚洲,澳大利亚和北美的数据库。

我之前从未遇到过这种类型的场景,并且对MySQL没有太多了解。但是根据我发现的研究,我们可以在这种情况下使用MySQL集群或复制。

当数据库更新时,肯定需要一些时间来更新其他数据库。

我的问题是,当亚洲用户尝试通过应用程序更新记录时,将通过在记录的字段(“已锁定”0/1)中设置标记来锁定记录。当另一个用户尝试编辑记录时,它将检查“锁定”字段值,然后允许用户更新或告知记录已被锁定。

当亚洲用户打开记​​录进行编辑时,锁定字段将更新为1.但是,在欧洲,澳大利亚的其他服务器中复制锁定字段值需要一些时间可能需要2/3秒如果同时来自欧洲的任何用户打开要从应用程序编辑的记录,那么锁定的字段值可能不会在欧洲服务器中复制。因此来自欧洲的用户也可以打开记录进行编辑。因此来自亚洲的用户和来自欧洲的用户将具有记录编辑界面将存在冲突。

任何人都可以帮助我。对于这种情况,我需要一个更好的MySQL全局数据库架构的建议。

由于

0 个答案:

没有答案