RabbitMQ Message Queue System
2025 • Personal
RabbitMQ Python Node.js Microservices Backend Docker
Production-grade RabbitMQ system handling distributed services for email, notifications, and WhatsApp messaging at company scale.
Overview
Distributed message queue infrastructure built with Node.js and Python for asynchronous microservices communication.
Service Architecture
Core Services
- Email Service: Dedicated queue for email processing and delivery
- Notification Service: Real-time notification handling
- WhatsApp Messaging: Automated message delivery via dual-consumer pattern
WhatsApp Implementation
- API Layer: REST API pushes messages to number queue
- Python Consumer (Windows): Selenium-based automation
- Consumes from number queue and sends via WhatsApp Web
- Publishes delivery status to log queue
- Android App Consumer: Mobile-based message delivery
- Consumes from same queue as failover/load distribution
- Sends status events to log queue
- Log Queue: Centralized tracking for all delivery events and database operations
Key Features
- Multiple exchange types (direct, topic, fanout) for flexible routing
- Dead letter queues for failed message handling
- Dual-consumer architecture for high availability
- Event-driven logging with dedicated log queue
- Message persistence and consumer acknowledgments
Deployment
- Dockerized RabbitMQ and Node.js services
- Windows-based Python consumer for Selenium automation
- Production deployment in company infrastructure
Achievements
- Decoupled services with asynchronous processing
- Reliable WhatsApp messaging with dual consumers
- Centralized event logging for monitoring and debugging
- Scalable architecture supporting multiple client instances
Technologies
- RabbitMQ
- Node.js & Python (pika, Selenium)
- Docker
- Android App
- Selenium WebDriver