# Bridge
# emqttd Bridge
Two or more emqttd brokers could be bridged together. Bridges forward MQTT messages from one broker node to another:
--------- --------- ---------
Publisher --> | node1 | --Bridge Forward--> | node2 | --Bridge Forward--> | node3 | --> Subscriber
--------- --------- ---------
# Configure Bridge
Suppose that we create two emqttd brokers on localhost:
Name | Node | MQTT Port |
---|---|---|
emqttd1 | emqttd1@127.0.0.1 | 1883 |
emqttd2 | emqttd2@127.0.0.1 | 2883 |
Create a bridge that forwards all the 'sensor/#' messages from emqttd1 to emqttd2.
# 1. Start Brokers
cd emqttd1/ && ./bin/emqttd start
cd emqttd2/ && ./bin/emqttd start
# 2. Create bridge: emqttd1--sensor/#-->emqttd2
$ cd emqttd1 && ./bin/emqttd_ctl bridges start emqttd2@127.0.0.1 sensor/#
bridge is started.
$ ./bin/emqttd_ctl bridges list
bridge: emqttd1@127.0.0.1--sensor/#-->emqttd2@127.0.0.1
# 3. Test the bridge
#emqttd2
mosquitto_sub -t sensor/# -p 2883 -d
#emqttd1
mosquitto_pub -t sensor/1/temperature -m "37.5" -d
# 4. Delete the bridge
./bin/emqttd_ctl bridges stop emqttd2@127.0.0.1 sensor/#
# emqttd Bridge CLI
#query bridges
./bin/emqttd_ctl bridges list
#start bridge
./bin/emqttd_ctl bridges start \<Node> \<Topic>
#start bridge with options
./bin/emqttd_ctl bridges start \<Node> \<Topic> \<Options>
#stop bridge
./bin/emqttd_ctl bridges stop \<Node> \<Topic>
# mosquitto Bridge
Bridge mosquitto to emqttd broker:
------------- -----------------
Sensor ----> | mosquitto | --Bridge--> | |
------------- | emqttd |
------------- | Cluster |
Sensor ----> | mosquitto | --Bridge--> | |
------------- -----------------
# mosquitto.conf
Suppose that we start an emqttd broker on localost:2883, and mosquitto on localhost:1883.
A bridge configured in mosquitto.conf:
connection emqttd
address 127.0.0.1:2883
topic sensor/# out 2
# Set the version of the MQTT protocol to use with for this bridge. Can be one
# of mqttv31 or mqttv311. Defaults to mqttv31.
bridge_protocol_version mqttv311
# rsmb Bridge
Bridge RSMB to emqttd broker, same settings as mosquitto.
broker.cfg:
connection emqttd
addresses 127.0.0.1:2883
topic sensor/#
← Clustering User Guide →