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

时间:2018-02-26 06:41:11

标签: mqtt mosquitto mqtt-vernemq

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

是否有其他(开源)代理提供此类功能?如果不是,我们怎么能实现这个目标呢?

2 个答案:

答案 0 :(得分:2)

你可以用mosquitto声明你想要的许多桥梁。

来自mosquitto.conf手册页:

  

配置网桥

     

可以配置多个网桥(与其他经纪商的连接)   使用以下变量。

您只有以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

答案 1 :(得分: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