MongoDB выборочная репликация по company_id - PullRequest
0 голосов
/ 30 марта 2020

Наша команда разрабатывает приложение, которое будет иметь веб- и мобильное развертывание. Мы также будем поддерживать местное использование в помещении для некоторых клиентов. Оперативное обещание необходимо из-за проблем с инфраструктурой в некоторых удаленных местах, где должна работать система. Мы используем mongodb.

Итак, наш архитектурный подход заключается в том, чтобы иметь общие коллекции для всех клиентов. Чтобы дифференцировать клиентов, все документы во всех коллекциях используют идентификатор customer_id, как показано в следующем примере:

materials: {
_id: not_null(ObjectId),
name: not_null(String),
description: String,
createdAt: not_null(Long),
createdBy: not_null(ObjectId),
updatedAt: Long,
updatedBy: ObjectId,
customer_id: not_null(ObjectId)
}

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

Если настроено локально, приложение будет подключаться к локальному серверу и изменять данные локально. Эти данные будут синхронизироваться c в облаке, если доступно inte rnet. Таким же образом, если пользователь в облаке изменяет документ для данного клиента, локальный сервер синхронизируется при наличии соединения inte rnet.

Если соединения нет, все изменения выполняются локально / на inte rnet и синхронизируется после возвращения inte rnet.

Наш вопрос связан с инструментами для его поддержки.

  • Можем ли мы настроить собственную репликацию или разделение на mongodb чтобы иметь такое поведение?
  • Если нет, есть ли инструменты syn c для mongodb, которые могут нам помочь?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...