我们在不同的场所安装了许多本地网关。这些网关将托管一个MQTT代理,用于连接所有本地服务。然后,需要本地MQTT代理将此数据发送到两个远程MQTT代理(每个代理由另一方托管)。我已经阅读了关于Mosquitto和VerneMQ经纪人的文档,我发现他们一次只允许桥接一个远程服务器。
是否有其他(开源)代理提供此类功能?如果不是,我们怎么能实现这个目标呢?
答案 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