如何使用 grails 将应用程序中的离线 mysql 数据更新为在线 mysql 数据

How to update offline mysql data to online mysql data in application using grails

我使用 grails3 开发了一个计费应用程序。要求是在线和离线使用此应用程序,当互联网设施中断时,使用离线数据存储在本地 Mysql 数据库中,当我切换到在线时,离线 Mysql 数据应更新为我的远程 Mysql 数据库。实施此用例的最佳策略是什么。是否有适用于这种情况的 grails-plugin。

我的一位朋友建议 use-cases 考虑以下问题:

  1. 如果您假设系统离线的时间很短,您可以保留数据in-memory并在系统重新在线时推送。

  2. 如果您认为离线存储数据会变大,您可以使用 FLAT 文件存储数据,然后读取该文件并在远程 mysql 数据库中进行写入.

  3. 您还可以使用 mysql 复制功能来复制您的数据并拥有本地和远程 mysql 实例。您将需要花一些时间来研究如何执行此操作。

  4. 使用消息队列机制在离线时将您的查询排队,然后在在线时以相同的顺序写入远程数据库。

  5. 使用 in-memory 或本地 h2 数据库 如果您的 sql 查询不太复杂。编写一个定期写入远程实例的作业。