同时将一个 MQTT 代理桥接到 2 个远程 MQTT 代理

Bridging an MQTT broker to 2 remote MQTT brokers simultaneously

我们在不同的场所安装了很多本地网关。这些网关将托管一个 MQTT 代理,用于连接所有本地服务。然后需要本地 MQTT 代理将此数据发送到两个远程 MQTT 代理(每个代理由不同的一方托管)。我已经阅读了关于 Mosquitto 和 VerneMQ 代理的文档,我发现它们一次只允许桥接一个远程服务器。

是否有提供此类功能的另一个(开源)代理?如果不是,我们如何才能做到这一点?

你可以用 mosquitto 声明任意多的桥梁。

来自 mosquitto.conf 手册页:

Configuring Bridges

Multiple bridges (connections to other brokers) can be configured using the following variables.

您只有多个以 connection

开头的块
connection test-mosquitto-org
address test.mosquitto.org
cleansession true
topic clients/total in 0 test/mosquitto/org $SYS/broker/

connection foo.broker.org
address 192.168.1.1
topic # both 0

谢谢 hardillb。同样在我的例子中,我使用了客户端 id,显然每个桥块它们需要是唯一的:

例如

connection solace.cloud
address <mqtt address>:<port>
remote_username <username>
remote_password <password>
clientid Alpha
try_private false
start_type automatic
topic Nasdaq/ out 0 b1/ ""
topic Nasdaq/ in 0 "" b2/

connection cloudmqtt
cleansession true
address postman.cloudmqtt.com:<port>
remote_username <username>
remote_password <password>
clientid Beta
try_private true
start_type automatic
topic Nasdaq/# out 0
topic Nasdaq/# in 0