Skip to content

FluxMQ Documentation

A high-performance, multi-protocol message broker written in Go designed for scalability, extensibility, and protocol diversity. Supports MQTT 3.1.1 and 5.0 over TCP and WebSocket, plus HTTP-MQTT and CoAP bridges for IoT integration.

  • Multi-Protocol Support - MQTT 3.1.1/5.0, WebSocket, HTTP-MQTT Bridge, CoAP Bridge
  • High Performance - 300K-500K msg/s per node with zero-copy packet parsing
  • Clustering - Embedded etcd for distributed coordination, no external dependencies
  • Durable Queues - Consumer groups with ack/nack/reject semantics
  • Security - TLS/mTLS, rate limiting, authentication plugins
  • Observability - OpenTelemetry metrics, structured logging, webhook notifications
Terminal window
# Clone and build
git clone https://github.com/absmach/fluxmq.git
cd fluxmq
make build
# Run single node
./build/fluxmq
# Run with configuration
./build/fluxmq --config config.yaml
Terminal window
# Subscribe
mosquitto_sub -p 1883 -t "test/#" -v
# Publish
mosquitto_pub -p 1883 -t "test/hello" -m "Hello FluxMQ"
server:
tcp:
plain:
addr: ":1883"
websocket:
plain:
addr: ":8083"
path: "/mqtt"
http:
plain:
addr: ":8080"
broker:
max_message_size: 1048576
max_retained_messages: 10000
storage:
type: badger
badger_dir: "./data"
log:
level: info

FluxMQ uses a clean layered architecture:

  • Transport Layer - TCP, WebSocket, HTTP, CoAP servers
  • Protocol Layer - MQTT 3.1.1/5.0 packet handling
  • Domain Layer - Protocol-agnostic broker logic
  • Storage Layer - BadgerDB for persistence, etcd for clustering
MetricValue
Concurrent Connections500K+ per node
Message Throughput300K-500K msg/s per node
Latency (local)<10ms
Session Takeover<100ms

Event-Driven Architectures

  • Event backbone for microservices
  • CQRS systems with durable queues
  • Real-time event processing

IoT & Real-Time Systems

  • Device communication via MQTT
  • Browser clients via WebSocket
  • Edge computing deployments

High-Availability Systems

  • Clustered deployments (3-5 nodes)
  • Geographic distribution
  • Linear scaling