Как обновить автономные данные mysql до онлайн-данных mysql в приложении с помощью Grails

Я разработал приложение для выставления счетов, используя Grails3. Требование состоит в том, чтобы использовать это приложение как в сети, так и в автономном режиме, когда подключение к Интернету прерывается. При использовании автономных данных данные хранятся в локальной базе данных Mysql, а когда я переключаюсь в онлайн, автономные данные Mysql должны быть обновлены до моей удаленной базы данных Mysql. Какова наилучшая стратегия для реализации этого варианта использования. Есть ли какой-либо подключаемый модуль Grails для этого сценария.


person Abdul    schedule 15.06.2019    source источник


Ответы (1)


Один из моих друзей предложил рассмотреть следующие варианты использования:

  1. Если вы предполагаете, что количество времени, в течение которого система будет находиться в автономном режиме, довольно мало, вы можете хранить данные в памяти и отправлять их, когда система снова будет подключена к сети.

  2. Если вы считаете, что данные могут стать большими с автономным хранилищем, вы можете использовать FLAT-файл для хранения ваших данных, а затем прочитать этот файл и выполнить запись в удаленной базе данных mysql.

  3. Вы также можете использовать возможности репликации mysql для репликации ваших данных и иметь как локальные, так и удаленные экземпляры mysql. Вам придется потратить некоторое время на то, как это сделать.

  4. Используйте механизм очереди сообщений, чтобы ставить в очередь ваши запросы в автономном режиме, а затем записывать в удаленную базу данных в той же последовательности, когда он находится в сети.

  5. Используйте базу данных в памяти или локальную базу данных h2, если ваши запросы sql не слишком сложны. Напишите задание, которое периодически записывает данные в ваш удаленный экземпляр.

person Abdul    schedule 17.06.2019