The Message Backlog Memory Bomb
criticalUnacknowledged messages accumulate in memory faster than consumers can process them, triggering memory alarms and blocking publishers. This is the most common cause of RabbitMQ memory exhaustion.
Monitor queue depth (messages_ready + messages_unacknowledged), memory usage approaching high watermark threshold, and consumer acknowledgment rate lagging behind publish rate. Memory alarms will trigger when usage exceeds configured thresholds (typically 40-50% of system RAM).
Scale consumers immediately to increase throughput. Implement TTL policies and Dead Letter Exchanges to prevent indefinite accumulation. Set appropriate prefetch counts (10-50 based on consumer processing time). If critical, purge queues after ensuring data loss is acceptable.