mqtt-broker

module
v0.0.71 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2019 License: MPL-2.0

README

MQTT Broker

Experiments around a gossip-based MQTT Broker. Inspired (a lot) by https://emitter.io/.

Running

The system is composed of multiple services, discovering themselves using a gossip-based service mesh. Inter-service communication is based on GRPC.

Single node

You can run 3 instances of the broker with the following command.

go run ./cli/allinone/main.go -j localhost:3302 -j localhost:3303 --cluster-bind-port 3301 -t 1883 &
go run ./cli/allinone/main.go -j localhost:3301 -j localhost:3303 --cluster-bind-port 3302 -t 1884 &
go run ./cli/allinone/main.go -j localhost:3302 -j localhost:3301 --cluster-bind-port 3303 -t 1885

The broker should start and listen on 0.0.0.0:1883 (tcp), 0.0.0.0:1884 (tcp) and 0.0.0.0:1885 (tcp). You can connect to it using an MQTT client:

mosquitto_sub -t 'test' -d -q 1 &
mosquitto_pub --port 1884 -t 'test' -d -q 1 -m 'hello'

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL