FluxMQ Documentation
FluxMQ
Section titled “FluxMQ”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.
Features
Section titled “Features”- 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
Quick Start
Section titled “Quick Start”Build & Run
Section titled “Build & Run”# Clone and buildgit clone https://github.com/absmach/fluxmq.gitcd fluxmqmake build
# Run single node./build/fluxmq
# Run with configuration./build/fluxmq --config config.yamlTest with MQTT Client
Section titled “Test with MQTT Client”# Subscribemosquitto_sub -p 1883 -t "test/#" -v
# Publishmosquitto_pub -p 1883 -t "test/hello" -m "Hello FluxMQ"Basic Configuration
Section titled “Basic Configuration”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: infoArchitecture Overview
Section titled “Architecture Overview”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
Documentation
Section titled “Documentation”- Architecture: System design and component overview
- Configuration: Complete configuration reference
- Clustering: Distributed broker setup
- Client Libraries: Go MQTT and AMQP clients
- Durable Queues: Queue system with consumer groups
- Webhooks: Event notification system
Performance
Section titled “Performance”| Metric | Value |
|---|---|
| Concurrent Connections | 500K+ per node |
| Message Throughput | 300K-500K msg/s per node |
| Latency (local) | <10ms |
| Session Takeover | <100ms |
Use Cases
Section titled “Use Cases”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
Getting Help
Section titled “Getting Help”- GitHub: github.com/absmach/fluxmq
- Issues: Report bugs and request features
- Discussions: Community support and questions