在没有 MondoDB link 的情况下 运行 IoT-Agent for Ultralight 2.0 是否可行(具有数据保存的内存类型)?

Is it possible to run IoT-Agent for Ultralight 2.0 without MondoDB link (with memory type of data hold)?

在为 Ultralight 2.0 配置 IoT-Agent 期间,可以设置 docker 变量 IOTA_REGISTRY_TYPE- 是否将 IoT 设备信息保存在内存中或在数据库中(默认为 mongodb)。 Documentation that I'm referencing.

首先我想把它设置为内存,它意味着什么? 数据是否只能保存在 docker env. 内的某些已分配内存部分?我可以省略配置文件中的其他变量,例如 IOTA_MONGO_HOST(mongoDB 的主机名 - 用于保存设备信息)。

我的系统架构有 raspberry pi运行ning IoT Agent 和 VM 运行ning Orion Context Broker 和 MongoDB。两者都是可达的,因为它们在 LAN 中看到对方。 MongoDB 如果 IoT Agent 和 Orion Context Broker 链接,它们是否必须是同一个数据库?

是否可以运行 IoT Agent 具有仅内存类型的设备信息持久性(而不是数据库类型)?除了明显缺乏设备数据保存外,它会对整个基础架构 运行ning 产生任何影响吗?

Firstly I would like to have it set for memory and what would it imply?

不需要 MongoDB 数据库附加到 IoT 代理,在灾难恢复的情况下,配置的设备不会持久存在。

Could the data be preserved only in some allocated part of memory within docker env.?

没有

Could I omit further variables within configuration file, like IOTA_MONGO_HOST (The hostname of mongoDB - used for holding device information).

Docker Env parameters 只是覆盖启动器本身的 config.js 中的值,因此如果您使用默认值,则可以省略所有 ENV 变量。

Is it necessary for MongoDB to be the same database for IoT Agent and Orion Context Broker if they are linked?

IoT 代理和 Orion 可以 运行 完全分开,并且通常会使用单独的 MongoDB 实例。至少在架构合理的生产环境中会出现这种情况。

为了简单起见,Step-by-Step 教程 将所有内容集中在一个 Docker 引擎上。牺牲了适当的架构以使叙述集中在学习目标上。您不需要两个 Mongo-DB 个实例来处理少于 20 个虚拟设备。

部署到生产环境时,请尝试查看 SmartSDK Recipes 为了扩展到合适的架构:

参见:https://smartsdk.github.io/smartsdk-recipes/

Is it possible to run IoT Agent with memory only type of device information persistence (instead of database type)? Will it have any effect on whole infrastructure running besides of obvious lack of device data holding?

我没有检查过这个,但性能可能会略有不同,因为内存访问应该稍微快一些。 pay-off 是如果发生故障,您将失去所有设备的配置状态。如果您需要投资于灾难恢复,那么 Mongo-DB 是正确的选择,定期 back-up 您的数据库,这样您就可以始终 return 到 last-known-good