在 Eclipse Hono 中发布新的基于 MongoDB 的设备注册表
如其官方网站所述,Eclipse Hono 是一个物联网连接平台,它提供了一个统一的 API,用于将大量物联网设备连接到后端,而不管设备使用的各种通信协议。 Hono 为通过 AMQP、COAP、HTTP 和 MQTT 等协议进行通信的设备提供开箱即用的支持。 Eclipse Hono 包含多个微服务,这些微服务打包为 Docker 容器并部署在 Kubernetes 等容器编排系统中。
设备注册表是这些组件之一,Hono 会在其中跟踪其所有租户、设备和设备凭据。这对 Hono 至关重要,因为协议适配器使用设备注册表来验证租户和设备是否已注册和启用。除此之外,协议适配器在接受任何遥测、事件或命令响应消息之前使用设备注册表来验证设备。设备注册表还实现了基于 HTTP 的设备管理 API,以管理租户、设备和凭据信息的存储。
在 1.3.0 版本之前,Hono 只提供了一种设备注册表实现,它使用底层本地文件系统来持久化数据。这个基于文件的设备注册表可以很好地用作演示设备注册表。但是,它不打算在生产环境中使用,因为组件不能轻易横向扩展。因此,用户必须实现自己的设备注册表才能在生产设置中使用 Hono。随着 Hono 1.3.0 的发布,这一点已经得到解决,您无需实现自己的设备注册表即可在生产环境中使用 Hono。
基于 MongoDB 的新设备注册表
现在 Hono 提供了另一种设备注册表实现,它使用 MongoDB 数据库来持久化数据。与基于文件的对应物不同,这个基于 MongoDB 的设备注册表旨在用于生产和演示设置。它将租户、设备和凭据信息存储在底层 MongoDB 数据库中的单独集合中。 MongoDB 支持使用分片和数据分布等技术水平扩展。通过这个注册表,可以利用 MongoDB 的可扩展性毫无困难地向外扩展。
此外,您可以使用基本身份验证机制轻松保护 MongoDB 设备注册表中的 HTTP 端点。这意味着客户端需要通过提供用户名和密码来使用基于 MongoDB 的设备注册表进行身份验证,以便管理租户、设备和凭据。您可以通过设置配置属性hono.registry.http.authenticationRequired
来开启或关闭认证机制 到 true
或 false
.有关如何配置基于 MongoDB 的设备注册表的更多信息,请查看基于 MongoDB 的设备注册表配置。
使用 helm chart 使用 MongoDB 设备注册表安装 Eclipse Hono
Eclipse IoT 包存储库托管 helm charts,您可以使用它在 Kubernetes 集群中安装 Hono。默认情况下,Hono 的 helm chart 部署基于文件的设备注册表。我将向您展示如何使用 Hono 的 helm chart 使用基于 MongoDB 的设备注册表安装 Hono。我假设您已经有一个正在运行的 Kubernetes 集群。
第一步是使用以下命令添加 eclipse IoT 包图表存储库。此命令使用名称 eclipse-iot
添加存储库 .
现在使用以下命令将带有基于 MongoDB 的设备注册表的 Hono 部署到命名空间 hono
.
正如您在上面看到的,我已经设置了属性 deviceRegistryExample.type
的值 mongodb
.这会将图表配置为部署基于 MongoDB 的注册表,而不是基于默认文件的注册表。
在上面的命令中,我设置了属性 mongodb.createInstance
到 true
.默认值为 false
如果它设置为 true
,然后图表将新的 MongoDB 数据库实例部署为单独的微服务,并使用该数据库实例来存储设备注册表数据。如果您更喜欢使用现有的 MongoDB 数据库实例而不是创建新实例,则设置 mongodb.createInstance
到 false
.在这种情况下,请使用以下 MongoDB 连接配置属性来指向现有的 MongoDB 数据库。
通过上述步骤,现在您应该已经在给定的 Kubernetes 集群中使用基于 MongoDB 的设备注册表安装了 Hono。您还可以验证安装。关于如何验证安装的更多信息,请参考Hono Helm chart的README页面。
工业技术
- 协作是关键:新的 Eclipse 软件定义车辆工作组
- Eclipse Hono 1.0.0 发布:一个开放的物联网连接平台
- SECO:基于第 8 代英特尔酷睿 U 和第 9 代酷睿 H 处理器的新解决方案
- 使用 LM35 的基于温度的设备控制系统
- 从物联网到加密劫持:了解新的移动设备威胁
- 基于激光的新型系统可以持续监测对材料的辐射损伤
- 新型灵活设备可以将 WiFi 信号转化为电能
- 新机器利用雪球发电
- Java 10 - 基于时间的发布版本控制
- 基于 PEKK 和 PVDF 的新型 3D 打印线材现已上市
- 工业 5.0:新革命
- USAL 测试 Car Delivery Network 的新电子记录设备