{% hint style="warning" %} RouteMQ isn’t production-ready yet. Use only in test/staging. Known gaps: stability, security hardening, performance tuning, docs. I’ll post updates as we land fixes. {% endhint %}
Welcome to the RouteMQ Framework documentation! This guide will help you get started and master all the features of this flexible MQTT routing framework.
- Getting Started - Installation, quick start, and basic setup
- Core Concepts - Understanding the framework architecture
- Configuration - Environment variables and setup options
- Routing - Route definition, parameters, and organization
- Controllers - Creating and organizing business logic
- Middleware - Request processing and middleware chains
- Redis Integration - Caching, sessions, and distributed features
- Rate Limiting - Advanced rate limiting strategies
- Database - MySQL integration and models
- Testing - Writing and running tests
- Deployment - Docker, production setup, and scaling
- Monitoring - Metrics, health checks, and debugging
- API Reference - Complete API documentation
- Examples - Practical examples and use cases
- Troubleshooting - Common issues and solutions
RouteMQ is a flexible MQTT routing framework with middleware support, dynamic router loading, Redis integration, and horizontal scaling capabilities, inspired by web frameworks.
- Dynamic Router Loading: Automatically discover and load routes from multiple files
- Route-based MQTT topic handling: Define routes using a clean, expressive syntax
- Middleware support: Process messages through middleware chains
- Parameter extraction: Extract variables from MQTT topics using Laravel-style syntax
- Shared Subscriptions: Horizontal scaling with worker processes for high-throughput routes
- Redis Integration: Optional Redis support for distributed caching and rate limiting
- Advanced Rate Limiting: Multiple rate limiting strategies with Redis backend
- Optional MySQL integration: Use with or without a database
- Group-based routing: Group routes with shared prefixes and middleware
- Context manager for route groups: Use Python's
withstatement for cleaner route definitions - Environment-based configuration: Flexible configuration through .env files
- Comprehensive logging: Built-in logging with configurable levels
