我使用grails3开发了一个计费应用程序。要求是在Internet设施中断时在线和离线使用此应用程序,在使用离线数据存储在本地Mysql数据库中时,并且当我切换到在线时,离线Mysql数据应更新到我的远程Mysql数据库。实现此用例的最佳策略是什么?有没有适用于这种情况的grails插件。
答案 0 :(得分:0)
我的一个朋友建议了以下用例:
如果您假设系统将要脱机的时间非常短,则可以将数据保留在内存中,并在系统重新联机时进行推送。
如果您认为离线存储可以使数据变大,则可以使用FLAT文件存储数据,然后读取该文件并在远程mysql数据库中进行写操作。
您还可以使用mysql复制功能来复制数据,并具有本地和远程mysql实例。您将需要花费一些时间来执行此操作。
使用消息队列机制在脱机时将查询排队,然后在联机时按相同顺序写入远程数据库。
使用内存或本地h2数据库如果您的sql查询不太复杂。编写一个定期写入远程实例的作业。