两个不同的 MQTT 代理可以相互通信吗?

ThN*_*ThN 5 protocols mqtt iot

我目前正在探索在我的程序中使用 MQTT 协议的可能性,系统发现有几个不同的 MQTT Brokers。所以,我的问题是,您可以混合搭配经纪人来进行这种沟通吗?例如,设备 1 上的 Mosquitto 代理和设备 2 上的 ActiveMQ Broker。这有效吗?

har*_*llb 5

我想这里可能有一个小小的误会。

在简单的部署中,只有 1 个 MQTT 代理,多个 MQTT 客户端(在一台或多台设备上)将连接到该代理并交换任何主题的消息。只要所有客户端都符合 MQTT 规范,那么它们就应该能够成功连接到任何代理实现。

如果您想要更复杂的部署,则可以拥有多个代理并将多组客户端连接到不同的代理。然后,您可以在代理之间建立所谓的桥梁,以允许共享部分/所有主题。这允许所有客户端共享消息,无论它们连接到哪个代理。

假设所有代理都符合 MQTT 规范(这很有可能),那么一切都应该正常工作,但是配置桥接的方式在代理实现之间有所不同。

请注意,新版本的 MQTT 规范 (v5) 刚刚上线(2017 年底),代理和客户端库将在未来几周/几个月内进行更新以支持这一点。因此,请检查您尝试连接的版本。