Engineering / Open resources
When should services use a queue?
Separate traffic spikes from processing capacity without hiding operational cost.
Use when
The producer can acknowledge receipt before completion. Bursts exceed sustained consumer capacity and work can be replayed safely. VMAGeste's documented flow separates ingestion, processing and analytical queries.
Prefer a direct call when
The response requires the result immediately, volume is predictable and the dependency fits the latency budget. A queue does not fix consumers that remain slower than arrivals: backlog keeps growing.
Before adopting
Define an idempotency key, retry limit, retention, required ordering and failure destination. Monitor the oldest message age, not just message count. Try the demo and record the decision using the ADR template.
Queue, retries and recovery
Adjust arrivals, workers and failures to observe backlog and dead letters. An educational model inspired by the cases, with no production data.
Architecture decision template
A fillable ADR with context, alternatives, decision, consequences and a review condition.