Можно ли запустить IoT-Agent для Ultralight 2.0 без ссылки MondoDB (с типом памяти для хранения данных)? - PullRequest
0 голосов
/ 01 мая 2019

Во время настройки IoT-агента для Ultralight 2.0 есть возможность установить переменную докера IOTA_REGISTRY_TYPE - Хранить ли информацию об устройстве IoT в памяти или в базе данных (по умолчанию - mongodb). Документация, на которую я ссылаюсь.

Во-первых, я хотел бы, чтобы она была установлена ​​для памяти и что бы это значило?Могут ли данные быть сохранены только в некоторой выделенной части памяти в среде докера?Могу ли я пропустить дополнительные переменные в файле конфигурации, например IOTA_MONGO_HOST (имя хоста mongoDB - используется для хранения информации об устройстве).

В архитектуре моей системы Raspberry Pi работает с агентом IoT и виртуальной машиной с Orion Context Broker и MongoDB.Оба достижимы, потому что они видят друг друга в локальной сети.Обязательно ли MongoDB быть одной и той же базой данных для агента IoT и посредника контекста Orion, если они связаны между собой?

Можно ли запустить агент IoT с постоянным сохранением информации об устройстве только в памяти (вместо типа базы данных)?Повлияет ли это на работу всей инфраструктуры, кроме очевидного отсутствия данных на устройстве?

1 Ответ

1 голос
/ 10 мая 2019

Во-первых, я хотел бы установить его для памяти и что бы это значило?

Не было бы необходимости в базе данных MongoDB, подключенной к агенту IoT, не было бысохранение подготовленных устройств в случае аварийного восстановления.

Могут ли данные быть сохранены только в некоторой выделенной части памяти в среде докера?

Нет

Могу ли я опустить другие переменные в файле конфигурации, например IOTA_MONGO_HOST (имя хоста mongoDB - используется для хранения информации об устройстве).

Параметры Docker Env просто переопределяют значения, найденные в config.js внутри самого Enabler, поэтому все переменные ENV могут быть опущены, если вы используете значения по умолчанию.

Обязательно ли MongoDB быть одной и той же базой данных для агента IoT и посредника контекста Orion, если они связаны между собой?

Агент IoT и Orion могут работать полностью отдельно иобычно используют отдельные экземпляры MongoDB.По крайней мере, так было бы в правильно спроектированной производственной среде.

Пошаговые руководства сводят все вместе на одном движке Docker для простоты.Надлежащая архитектура была принесена в жертву, чтобы повествование было сосредоточено на целях обучения.Вам не нужны два экземпляра Mongo-DB для обработки менее 20 фиктивных устройств.

При развертывании в производственной среде попробуйте взглянуть на рецепты SmartSDK, чтобы масштабировать до подходящей архитектуры:

см .: https://smartsdk.github.io/smartsdk-recipes/

Возможно ли запустить агент IoT с постоянным сохранением информации об устройстве только в памяти (вместо типа базы данных)?Повлияет ли это на работу всей инфраструктуры, кроме очевидного отсутствия хранения данных устройства?

Я не проверял это, но может быть небольшая разница в производительности, поскольку доступ к памяти должен быть немного быстрее,В итоге вы потеряете подготовленное состояние всех устройств в случае сбоя.Если вам необходимо инвестировать в аварийное восстановление, то Mongo-DB - это то, что вам нужно, и периодически создавайте резервные копии своей базы данных, чтобы вы всегда могли вернуться к last-known-good

...