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 8 months ago
.mosquitto Working clients 10 months ago
clock Doc string 10 months ago
cmd Working clients 10 months ago
common Working through bugs 10 months ago
img Update to architecture doc 8 months ago
scripts Prepare to use TLS in local dev 10 months ago
.gitignore Prepare to use TLS in local dev 10 months ago
DESIGN_CONCIDERATIONS.md Initial vector clock implementation 10 months ago
LICENSE Initial commit 10 months ago
Makefile Working clients 10 months ago
README.md Update to architecture doc 8 months ago
docker-compose.yaml Working through bugs 10 months ago
go.mod Added local-dev broker and golang lib 10 months ago
go.sum Added local-dev broker and golang lib 10 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: