У кого-нибудь есть идеи или ссылки на то, как реализовать уровень сохранения данных, который использует как локальное хранилище, так и удаленное хранилище REST:
Данные определенного клиента хранятся в localStorage (с использованием адаптера с индексом db-данных). Локально сохраненные данные синхронизируются с удаленным сервером (с использованием RESTadapter на основе ember-данных).
Сервер собирает все данные от клиентов. Использование математических наборов обозначение:
Server = Client1 ∪ Client2 ∪ ... ∪ ClientN
где, вообще говоря, любая запись может быть не уникальной для определенного клиента:
ClientX ∩ ClientY ≠ 0, ∀ X,Y ∈ [1,N]
Вот несколько сценариев:
-
Клиент создает запись. Идентификатор записи не может быть установлен на клиенте, поскольку он может конфликтовать с записью, хранящейся на сервере. Поэтому вновь созданная запись должна быть привязана к серверу → получить идентификатор → создать запись в localStorage.
-
Запись обновляется на сервере, и, как следствие, данные в localStorage и на сервере выходят из строя. Только сервер знает об этом, поэтому архитектуре необходимо реализовать архитектуру push (?)
Не могли бы вы использовать 2 магазина (один для localStorage, один для REST) и синхронизацию между ними, или использовать гибридный адаптер indexedDB/REST и записать код синхронизации внутри адаптера?
Вы можете увидеть какой-либо способ избежать внедрения push (Web Sockets,...)?