Shared Subscriptions
Overview
Basic Shared Subscription Usage
Enabling Shared Subscriptions
from core.router import Router
from app.controllers.sensor_controller import SensorController
router = Router()
# Regular subscription (single instance)
router.on("alerts/{device_id}", SensorController.handle_alert)
# Shared subscription with multiple workers
router.on("sensors/{device_id}/data",
SensorController.process_data,
shared=True, # Enable shared subscription
worker_count=3) # Use 3 workers for this route
# High-throughput route with many workers
router.on("telemetry/bulk",
SensorController.process_bulk,
shared=True,
worker_count=8,
qos=1)How Shared Subscriptions Work
Worker Management
Starting Workers
Worker Configuration
Environment Variables
Advanced Worker Configuration
Per-Route Worker Counts
Dynamic Worker Scaling
MQTT Shared Subscription Details
Subscription Topics
Group Names
Load Balancing Algorithms
Use Cases and Patterns
High-Throughput Data Ingestion
Image and File Processing
Real-time Analytics
Order-Sensitive Processing
Worker Process Implementation
Worker Lifecycle
Worker Coordination
Monitoring and Debugging
Worker Health Monitoring
Performance Metrics
Testing Shared Subscriptions
Unit Testing
Integration Testing
Load Testing
Production Deployment
Docker Configuration
Kubernetes Deployment
Monitoring Setup
Best Practices
When to Use Shared Subscriptions
Worker Count Guidelines
Resource Management
Next Steps
Last updated