Learning MQTT with Golang
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Drew Bednar 11839e6c7c Update to architecture doc 3 months ago
.mosquitto Working clients 4 months ago
clock Doc string 4 months ago
cmd Working clients 4 months ago
common Working through bugs 4 months ago
img Update to architecture doc 3 months ago
scripts Prepare to use TLS in local dev 4 months ago
.gitignore Prepare to use TLS in local dev 4 months ago
DESIGN_CONCIDERATIONS.md Initial vector clock implementation 4 months ago
LICENSE Initial commit 4 months ago
Makefile Working clients 4 months ago
README.md Update to architecture doc 3 months ago
docker-compose.yaml Working through bugs 4 months ago
go.mod Added local-dev broker and golang lib 4 months ago
go.sum Added local-dev broker and golang lib 4 months ago

README.md

Learn MQTT with Go

Learning MQTT with Golang by doing. This repo is a simple example of using a Golang application as a client (pub & sub) of an MQTT broker.

1883, Eclipse Mosquitto unsecured (opening the port on the internet is not recommended).

Architecture

mqtt-arch

Development

For local development we use Mosquitto as our MQTT broker, with TLS enabled.

sudo apt install mosquitto-clients

First generate local development certs using:

make gen-local-tls-certs

This will create CA, server, and client certificates suitable for local development. Server and CA certs are created in ./.mosquitto/certs. The client cert is create in the project root.

Start the local development environment with:

make start-dev

Stop the local development environment with:

make stop-dev

Usage

Instructions TBD

Design Considerations

See DESIGN_CONCIDERATIONS.md

Resources: