2017-01-06 4 views
0

Можно ли использовать couchbase syny gateway следующим образом:Какие хомуты шлюза синхронизации couchbase обеспечивают синхронизацию?

1) Мобильные клиентские запросы couchbase для данных.

2) Никаких данных в couchbase не существует, поэтому это вызывает импорт необходимых данных, например, из базы данных mysql в couchbase.

3) Импортированные данные затем передаются мобильному клиенту посредством шлюза синхронизации couchbase.

4) Мобильный клиент отправляется спать.

5) После 12 часов бездействия данные удаляются с couchbase.

6) На следующий день мобильный клиент до сих пор удерживает данные в автономном режиме и снова синхронизирует, которые синхронизация шлюза

7) данные снова импортирована в couchbase сервера и дифференциалы синхронизируются с клиентом

ли couchbase обеспечить крючки для реализации такой гибкой usecase? Если да, может кто-нибудь указать мне на важные вызовы api?

Многих Приветствий

ответ

0

Предпочтительный способ сделать это будет работать большинство вещей через синхронизацию шлюз (импорт данных из внешнего источника, в частности, должна пройти через синхронизацию шлюз, а не непосредственно к Couchbase, и удаление данных должны идти через SG также.)

Функция синхронизации Sync Gateway работает, когда SG получает документы. В этом смысле нет никакого способа вызвать что-то, основанное на том, что там нет.

Один из способов решения этой проблемы - заставить мобильный клиент нажать специальный документ. Функция синхронизации может поймать это и реагировать несколькими способами (запустить запрос webhook, запустить репликацию, или вы можете настроить что-то, чтобы контролировать фид изменений и запускать из этого).

У вас возникла проблема удаления данных со стороны сервера. Здесь вопрос немного неясен. Обычно приложения пишут новые версии для SG, и они синхронизируются с клиентом (и наоборот). Если вы удалите все на стороне сервера, на самом деле вы получите то, что называется надгробиями, показывая документ как удаленный. (Это результат гибкого метода разрешения конфликтов, используемого Couchbase Mobile. Он использует контроль многоуровневой параллелизма.)

Вопрос немного неясен. Похоже, вы не хотите хранить данные в долгосрочной перспективе на стороне сервера. Если это так, я думаю, что вы могли бы сделать что-то вроде:

  1. Удалить данные (через SG)
  2. Есть мобильные данные клиента толчок к SG
  3. Trigger SG снова с некоторым специальным документом
  4. Update данные из внешнего источника
  5. Есть обновления клиента тянуть от SG

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

Итак, короткий ответ, да, это кажется выполнимым, но полный ответ требует более подробной информации о том, что вы делаете и каковы ваши ограничения.

Смежные вопросы