MQTT 3.1.1 经纪商 (Moquette) - AWS IoT Greengrass

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

MQTT 3.1.1 经纪商 (Moquette)

Moquette MQTT 代理组件 (aws.greengrass.clientdevices.mqtt.Moquette) 处理客户端设备和 Greengrass 核心设备之间的 MQTT 消息。该组件提供了 M oquette MQTT 代理的修改版本。部署此 MQTT 代理来运行轻量级 MQTT 代理。有关如何选择 MQTT 代理的更多信息,请参阅选择一个 MQTT 经纪商

该交易商实现了 MQTT 3.1.1 协议。它包括对 QoS 0、QoS 1、QoS 2 保留消息、最后遗嘱消息和持久会话的支持。

注意

客户端设备是连接到 Greengrass 核心设备以发送 MQTT 消息和数据进行处理的本地物联网设备。有关更多信息,请参阅 与本地物联网设备互动

版本

此组件有以下版本:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

类型

此组件是一个插件组件 (aws.greengrass.plugin)。Greengrass 核心在与核心相同的 Java 虚拟机 (JVM) 中运行此组件。当您在核心设备上更改此组件的版本时,nucleus 会重新启动。

该组件使用与 Greengrass 核相同的日志文件。有关更多信息,请参阅 监控AWS IoT Greengrass日志

有关更多信息,请参阅 组件类型

操作系统

此组件可以安装在运行以下操作系统的核心设备上:

  • Linux

  • Windows

要求

此组件具有以下要求:

  • 核心设备必须能够接受 MQTT 代理运行的端口上的连接。默认情况下,此组件在端口 8883 上运行 MQTT 代理。配置此组件时,可以指定不同的端口。

    如果您指定其他端口,并且使用 MQTT 网桥组件将 MQTT 消息中继给其他代理,则必须使用 MQTT 网桥 v2.1.0 或更高版本。将其配置为使用 MQTT 代理运行的端口。

    如果您指定其他端口,并使用 IP 检测器组件管理 MQTT 代理端点,则必须使用 IP 检测器 v2.1.0 或更高版本。将其配置为报告 MQTT 代理运行的端口。

  • 支持 Moquette MQTT 代理组件在 VPC 中运行。

依赖项

部署组件时, AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖项的要求才能成功部署该组件。本节列出了此组件已发布版本的依赖关系以及定义每个依赖项的组件版本的语义版本限制。您还可以在AWS IoT Greengrass 控制台中查看组件每个版本的依赖关系。在组件详细信息页面上,查找 “依赖关系” 列表。

2.3.7

下表列出了此组件版本 2.3.7 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.6.0 硬性
2.3.2 – 2.3.6

下表列出了此组件版本 2.3.2 到 2.3.6 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.5.0 硬性
2.3.0 and 2.3.1

下表列出了此组件版本 2.3.0 和 2.3.1 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.4.0 硬性
2.2.0

下表列出了此组件版本 2.2.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.2.0 <2.3.0 硬性
2.1.0

下表列出了此组件版本 2.1.0 的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.0.0 <2.2.0 硬性
2.0.0 - 2.0.2

下表列出了此组件的 2.0.0 到 2.0.2 版本的依赖关系。

依赖关系 兼容版本 依赖关系类型
客户端设备身份验证 >=2.0.0 <2.1.0 硬性

有关组件依赖关系的更多信息,请参阅组件配方参考

配置

此组件提供以下配置参数,您可以在部署该组件时对其进行自定义。

moquette

(可选)要使用的 M oquette MQTT 代理配置。您可以在此组件中配置 Moqeutte 配置选项的子集。有关更多信息,请参阅 Moquette 配置文件中的内联注释。

该对象包含以下信息:

ssl_port

(可选)MQTT 代理运行的端口。

注意

如果您指定其他端口,并且使用 MQTT 网桥组件将 MQTT 消息中继给其他代理,则必须使用 MQTT 网桥 v2.1.0 或更高版本。将其配置为使用 MQTT 代理运行的端口。

如果您指定其他端口,并使用 IP 检测器组件管理 MQTT 代理端点,则必须使用 IP 检测器 v2.1.0 或更高版本。将其配置为报告 MQTT 代理运行的端口。

默认:8883

host

(可选)MQTT 代理绑定的接口。例如,您可以更改此参数,使 MQTT 代理仅绑定到特定的本地网络。

默认:0.0.0.0(绑定到所有网络接口)

startupTimeoutSeconds

(可选)组件启动的最长时间(以秒为单位)。BROKEN如果超过此超时时间,则组件的状态将更改为。

默认:120

例 示例:配置合并更新

以下示例配置指定在端口 443 上运行 MQTT 代理。

{ "moquette": { "ssl_port": "443" } }

本地日志文件

该组件使用与 Greengrass nucleus 组件相同的日志文件。

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
查看此组件的日志
  • 在核心设备上运行以下命令以实时查看此组件的日志文件。将/greengrass/v2C:\greengrass\v2 替换为 AWS IoT Greengrass 根文件夹的路径。

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

更改日志

下表描述了该组件的每个版本中的更改。

版本

更改

2.3.7

版本已针对客户端设备身份验证版本 2.5.0 版本进行了更新。

2.3.6

错误修复和改进
  • 常规错误修复和性能改进。

2.3.5

错误修复和改进
  • 将 Moquette 更新至版本 0.17。

2.3.4

错误修复和改进
  • 修复了由于客户端 ID 重复而导致客户端在发送或接收消息时可能遇到无效会话错误的问题。此问题导致客户端会话关闭。

2.3.3

新功能

添加新的startupTimeoutSeconds配置选项。

2.3.2

版本已针对客户端设备身份验证版本 2.4.0 版本进行了更新。

2.3.1

错误修复和改进
  • 修复了由于会话无效而导致客户端在尝试重新连接后可能断开连接的争用情况。

2.3.0

添加对证书链的支持。

2.2.0

版本已针对客户端设备身份验证版本 2.2.0 版本进行了更新。

2.1.0

错误修复和改进
  • 将此组件更新为使用 Moquett e 版本 0.16,该版本提高了性能并包括其他几项改进。

  • 修复了在某些情况下本地 MQTT 服务器证书的轮换频率高于预期的问题。

    要应用此修复程序,您还必须使用 v2.1.0 或更高版本的客户端设备身份验证组件。

2.0.2

错误修复和改进
  • 将 MQTT 消息的最大大小从 8,092 字节增加到 128 千字节。有效的 MQTT 消息负载限制略低,因为消息大小限制包括消息头。

  • ssl_port参数中添加对整数值的支持。

2.0.1

Greengrass nucleus 版本 2.4.0 版本的版本已更新。

2.0.0

初始版本。