broker

module
v0.0.0-...-beaa201 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2025 License: Apache-2.0

README

MQTT Broker

A batteries-not-included, high-performance MQTT broker designed for easy integration into other systems. Built with Go, this broker provides a clean separation between protocol handling and transport layers, with a powerful hook system for authentication, authorization, and message interception.

Features

  • Protocol Support: MQTT 3.1, 3.1.1, and 5
  • Transport Agnostic: TCP, TLS, WebSocket support out of the box
  • Hook System: Easy integration with authentication, authorization, and message processing
  • High Performance: Designed for low latency and high throughput
  • Clean Architecture: Separation of concerns between protocol, transport, and business logic
  • Minimal Dependencies: Only essential dependencies included

Directories

Path Synopsis
cmd
broker command
examples
acl command
Example: Broker with ACL-based topic authorization.
Example: Broker with ACL-based topic authorization.
auth command
Example: Broker with username/password authentication.
Example: Broker with username/password authentication.
basic command
Example: Basic broker with no hooks.
Example: Basic broker with no hooks.
cluster command
Example: Clustered broker using Redis/Valkey for distributed state.
Example: Clustered broker using Redis/Valkey for distributed state.
full command
Example: Full-featured broker with all hooks.
Example: Full-featured broker with all hooks.
metrics command
Example: Broker with $SYS metrics and logging.
Example: Broker with $SYS metrics and logging.
ratelimit command
Example: Broker with rate limiting.
Example: Broker with rate limiting.
tls command
Example: Broker with TLS on all transports.
Example: Broker with TLS on all transports.
websocket command
Example: Broker with both TCP and WebSocket transports.
Example: Broker with both TCP and WebSocket transports.
pkg
broker
Package broker provides the core MQTT broker functionality.
Package broker provides the core MQTT broker functionality.
hooks
Package hooks provides composable hook implementations for the MQTT broker.
Package hooks provides composable hook implementations for the MQTT broker.
packet
Package packet provides MQTT packet encoding and decoding for MQTT 3.1.1 and 5.0.
Package packet provides MQTT packet encoding and decoding for MQTT 3.1.1 and 5.0.
topic
Package topic provides MQTT topic name and filter handling.
Package topic provides MQTT topic name and filter handling.

Jump to

Keyboard shortcuts

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