Scenario
During a flash sale, an e-commerce platform's order service relies on Redis cache, RabbitMQ message queue, and Kafka event bus. Suddenly, order latency spikes, some requests time out, and monitoring alarms fire.
Symptoms
- Redis:
redis-cli --latencyshows >100ms (normal <1ms);INFOcommand displaysused_memory_peaknearingmaxmemory. - RabbitMQ: Management UI shows queue accumulation;
rabbitmqctl list_queues messages_readyreveals millions of unconsumed messages; node memory alarm. - Kafka:
kafka-consumer-groups --describeshows consumers lagging by tens of thousands;kafka-run-class.sh kafka.tools.JmxToolreports elevated request processing time.
Diagnosis
Redis
# Check slow queries
redis-cli SLOWLOG GET 10
# Check memory usage
redis-cli INFO memory | grep used_memory_human
# Find large keys
redis-cli --bigkeys
# Check connection count
redis-cli CLIENT LIST | wc -l
RabbitMQ
# Queue details
rabbitmqctl list_queues name messages_ready messages_unacknowledged consumers
# Node memory
rabbitmqctl status | grep memory
# Connections
rabbitmqctl list_connections state user
# Unacknowledged messages per channel
rabbitmqctl list_channels connection messages_unacknowledged
Kafka
# Consumer group lag
kafka-consumer-groups --bootstrap-server localhost:9092 --group my-group --describe
# Partition leader distribution
kafka-topics --describe --topic my-topic --bootstrap-server localhost:9092
# Log segment size
kafka-log-dirs --bootstrap-server localhost:9092 --describe --topic-list my-topic
# Request processing time (requires JMX enabled)
Risk Controls
Before any changes:
- Redis: If memory is near limit, first set maxmemory and eviction policy allkeys-lru. Never run FLUSHALL in production without explicit approval and backup.
- RabbitMQ: Verify consumer health before scaling. Deleting queues drops data; avoid unless necessary.
- Kafka: Backup server.properties before config changes. Do not use kafka-delete-records on production topics without snapshot.
Rollback
Redis
If config changed: CONFIG SET maxmemory 0 to revert to default. If FLUSHALL was executed, restore from RDB/AOF—note potential data loss.
RabbitMQ
If a policy (e.g., TTL) was added: rabbitmqctl clear_policy <queue>. If parameter changed: use rabbitmqctl set_parameter to revert.
Kafka
If log.retention.hours was modified: change back to original value and rolling-restart brokers.
Verification
- Redis: Run
redis-cli --latencyto confirm latency drops; observeINFOmemory usage declining. - RabbitMQ: Check queue depth decreases;
rabbitmqctl list_queues messages_readyshows fewer messages. - Kafka: Consumer lag reaches 0;
kafka-consumer-groups --describedisplaysLAGas 0.
When to Submit an OpsGlobal Ticket
- Changes requiring cross-team coordination (e.g., storage expansion).
- Root cause unclear after basic diagnosis.
- Issues persist after rollback, or need cluster rebuild.
- Security patches or architectural refactoring needed.
Conclusion
With systematic symptom recognition, safe diagnosis commands, and controlled rollback, most middleware issues can be resolved within 10 minutes. OpsGlobal provides 24/7 expert support to keep your critical path always available.
Use cases
Useful for teams handling NoSQL issues and needing a clear troubleshooting and delivery workflow.
Problem background
A step-by-step walkthrough of a real cascading failure scenario involving Redis, RabbitMQ, and Kafka. Learn symptoms, diagnosis commands, risk controls, rollback steps, verification, and when to escalate to OpsGlobal.
Troubleshooting steps
Confirm impact and recent changes, collect logs, configuration and metrics, then apply fixes from low to high risk.
Command examples
Replace sample resource names with real values and store passwords, tokens and keys in environment variables.
Risks
Before production changes, confirm backups, access boundaries, change windows and rollback paths.
Rollback plan
Keep original configuration and release versions; roll back config, images or database changes if metrics degrade.
Deliverables
Root-cause notes, key commands, remediation steps, verification results and follow-up recommendations.
Need help with a similar technical issue?
If your servers, Kubernetes, Docker, CI/CD, databases or monitoring systems have similar issues, submit logs and config files for remote diagnosis.