React Native и Couchbase

Технологии:
Интерфейс: React Native, Couchbase Lite
Сервер: сервер Couchbase

Я создаю приложение для обмена сообщениями, в котором пользователь 1 отправляет сообщение пользователю 2, а ниже приведены мои варианты использования,

  1. Сообщение User1 будет храниться в локальной базе данных Couchbase lite.
  2. Когда «Пользователь 1 в сети», передать сообщение на сервер cockbase.
  3. Когда «Пользователь 2 находится в сети», сервер диванной базы отправляет сообщение пользователю 2, как только пользователь 2 подтверждает, что он получил сообщение, он удаляет сообщение с сервера диванной базы.

Я знаю, что cockbase lite/couchbase-server можно использовать для выполнения только локальных, только удаленных, локальных и удаленных операций синхронизации.

Но не уверен, как набрать очки,

  1. как определить, что пользователь 1 находится в сети, чтобы, как только пользователь 1 был в сети, сообщение было отправлено на сервер
  2. как добиться подтверждения (сервер-клиент). т. е. сервер подтверждает user1, что он получил сообщение
  3. как определить, что пользователь2 находится в сети со стороны сервера, чтобы сервер отправлял сообщение, когда пользователь2 находится в сети
  4. как выполнить подтверждение (клиент-сервер)
  5. удалить сообщение с сервера cockbase, как только оно получит подтверждение.)

Подходит ли кушетка для достижения моего варианта использования или мне нужно искать какие-либо альтернативы.


person ugendrang    schedule 15.10.2017    source источник


Ответы (1)


Я считаю, что пакет Sync Gateway (SG) + Couchbase Lite (CBL) может удовлетворить ваши потребности:

  1. «user1 находится в сети» означает, что его приложение CBL запускает push-репликацию с SG («отправляет сообщение»)
  2. как только приложение user1 завершит репликацию, его CBL может быть уверен, что документ «отправлен» в SG
  3. то же, что и пункт 1. но тянуть репликацию
  4. как только пункт 3. произошел - просто действуйте на стороне сервера соответственно (см. веб-хуки SG)
person Alex Green    schedule 29.11.2017
comment
Надеюсь, что это предложение работает для мобильной связи. Мой сценарий также включает стороннее обновление (например, обновление из веб-службы). Поэтому я хотел бы сохранить свои данные, полученные от веб-сервиса, в БД Couchbase после всех проверок, а затем доставить эти данные мобильному пользователю. После того, как сообщение доставлено, мне нужно удалить данные в Couchbase db. - person ugendrang; 01.12.2017