选择 MQTT 代理 - AWS IoT Greengrass

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

选择 MQTT 代理

AWS IoT Greengrass 提供选项,供您选择要在核心设备上运行的本地 MQTT 代理。客户端设备连接到在核心设备上运行的 MQTT 代理,因此请选择与您要连接的客户端设备兼容的 MQTT 代理。

注意

我们建议您仅部署一个 MQTT 代理组件。MQTT 网桥IP 检测器组件每次只能使用一个 MQTT 代理组件。如果您部署多个 MQTT 代理组件,您必须将这些组件配置为使用不同的端口。

您可从以下 MQTT 代理中进行选择:

  • MQTT 3.1.1 代理(Moquette)aws.greengrass.clientdevices.mqtt.Moquette

    对于符合 MQTT 3.1.1 标准的轻量级 MQTT 代理,请选择此选项。AWS IoT Core MQTT 代理和 AWS IoT Device SDK 也符合 MQTT 3.1.1 标准,因此您可以使用这些功能来创建可跨您的设备和 AWS Cloud 使用 MQTT 3.1.1 的应用程序。

  • MQTT 5 代理(EMQX)aws.greengrass.clientdevices.mqtt.EMQX

    选择此选项可在核心设备与客户端设备通信时使用 MQTT 5 功能。该组件使用的资源比 Moquette MQTT 3.1.1 代理要多,并且在 Linux 核心设备上,它需要 Docker。

    MQTT 5 与 MQTT 3.1.1 向后兼容,因此您可以将使用 MQTT 3.1.1 的客户端设备连接到该代理。如果您运行 Moquette MQTT 3.1.1 代理,您可以将其替换为 EMQX MQTT 5 代理,并且客户端设备可以继续照常连接和运行。

  • 实施自定义代理

    选择此选项可创建自定义本地代理组件以与客户端设备通信。您可以创建使用 MQTT 之外的协议的自定义本地代理。AWS IoT Greengrass 提供组件 SDK,用于对客户端设备进行身份验证和授权。有关更多信息,请参阅使用 AWS IoT Device SDK 与 Greengrass 原子核、其他组件进行通信 AWS IoT Core对客户端设备进行身份验证和授权