Очередь сообщений от Android с учетом ненадежной сети

Моя архитектура будет использовать ActiveMQ на сервере, и клиенты Android будут отправлять и получать сообщения. Ситуация в сети будет очень ненадежной; возможно часы пропавшего соединения. Есть ли структура, которая позволит мне ставить в очередь сообщения на клиенте Android и доставлять их надежно, как только соединение вернется?

1 ответ

Решение

Вы можете эффективно внедрить его самостоятельно, я не думаю, что кто-то предоставит вам эту услугу, и если они это сделают, они, безусловно, будут взимать плату. Вот что я могу предложить для оптимального решения.

  1. Создайте базу данных, используя SQLITE для хранения вашего сообщения. Как только сообщение будет готово к доставке из клиента Android, вы можете выполнить следующие действия: a. Если сеть доступна, то вы можете напрямую доставить сообщение в свою веб-клинику. B. Если сети нет, то кешируйте ее прямо на локальный андроид db

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

  3. Вы можете усилить свою логику, кешируя сообщения каждый раз сначала в локальную базу данных, а затем в логику синхронизации, которая будет фиксировать ваши локальные изменения на веб-сервере, таким образом, увеличивая время обработки.

Надеюсь, что это ответит на вашу проблему.

Другие вопросы по тегам