2016-09-15 3 views
2

мы анализируем архитектуру FIWARE NGSI для обеспечения простых масштабируемых и отказоустойчивых рецептов для развертывания связанных механизмов. Конечно, мы планируем начать с дела ContextBroker.Как развернуть ContextBroker на производстве?

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

  1. Определение Compose/docker recipe, которые поддерживают федерацию экземпляров contextBroker (как описано в документации здесь: https://fiware-orion.readthedocs.io/en/develop/user/federation/index.html)
  2. Включите в рецепт конфигурацию балансировщика нагрузки с виртуальным IP, который балансирует запросы к различным частным IP-адресам contextBroker.
  3. Исследуйте дополнительные параметры конфигурации сверху, это может быть, например, географическое «очертание» в зависимости от IP-адреса клиента.

Конечно, каждый экземпляр контекстного брокера имел бы свой собственный экземпляр базы данных. Альтернативой может быть позиционирование «синхронного» уровня высокой доступности на уровне базы данных, используя функции «репликации» mongo db. Но я не уверен, что это хорошая идея.

Любая обратная связь приветствуется :)

ответ

1

Не уверен, что развертывание (редактировать вопрос пост, чтобы добавить диаграмму поможет), но если каждый экземпляр CB играет роль независимого логического узла со своими собственными данными контекста (Я полагаю, что, учитывая, что вы упоминаете федерацию между различными узлами CB), моя рекомендация для развертывания производства заключается в том, чтобы настроить каждый узел с помощью метода High Availability (HA).

Я имею в виду, вместо того, чтобы иметь только один CB в каждом узле, используйте активную конфигурацию CB-CB с балансировкой нагрузки перед ними. Оба ЦБ будут использовать одну и ту же базу данных MongoDB. Чтобы получить HA также в слое DB, вам нужно будет использовать наборы реплик MongoDB.