我正在开发一个应用程序(Java + MySQL),它将在全球不同的服务器中托管(应用程序 + db)。相同的应用程序和数据库将托管在亚洲、欧洲、澳大利亚和北美。
为了更快地访问,应用程序和数据库将托管在不同的服务器中,当用户尝试访问应用程序时,将使用离用户位置较近的服务器。
但是所有位置的数据都是一样的。这意味着当数据将在欧洲的服务器中更新时,它还将同步/更新亚洲、澳大利亚和北美的数据库。
我以前从未遇到过这种类型的场景,并且对 MySQL 没有太多了解。但是根据我的研究,我们可以在这种情况下使用 MySQL 集群或复制。
当数据库将更新时,肯定需要一些时间来更新其他数据库。
我的问题是,当亚洲的用户尝试通过应用程序更新记录时,将通过在记录的字段(“锁定”0/1)中设置标志来锁定记录。当另一个用户尝试编辑记录时,它会检查“锁定”字段值,然后允许用户更新或告知记录被锁定。
当亚洲用户打开记录编辑时,锁定字段将更新为1。但在欧洲,澳大利亚等其他服务器上复制锁定字段值可能需要2/3秒的时间。如果同时来自欧洲的任何用户从应用程序中打开记录进行编辑,此时锁定的字段值可能不会在欧洲服务器中复制。所以来自欧洲的用户也可以打开记录进行编辑。所以亚洲用户和欧洲用户会有冲突记录编辑界面。
谁可以帮我这个事。对于这种情况,我需要更好的 MySQL 全局数据库架构的建议。
谢谢