Queue workers scale horizontally
Why it matters
A single-instance queue worker is a capacity ceiling and a single point of failure. When send volume spikes — product launch, re-engagement campaign — a single worker becomes the bottleneck. ISO 25010 performance-efficiency.capacity requires that the system can be scaled to meet demand. The second failure mode is subtler: in-process state (a local Map of sent IDs, a module-level cache) will cause duplicate sends or inconsistent behavior when multiple instances run, which is worse than not scaling at all.
Severity rationale
Low because single-instance workers are a capacity ceiling, not an immediate failure — the impact is gradual throughput degradation during volume spikes rather than an outright outage.
Remediation
Configure horizontal scaling in your deployment manifest and ensure worker code is stateless. For Docker Compose:
services:
email-worker:
image: myapp/worker
deploy:
replicas: 3
environment:
- REDIS_URL=${REDIS_URL}
Move all shared state — deduplication sets, rate limit counters, sent-ID tracking — out of process memory and into Redis or the database. Any in-process singleton that would conflict across worker instances causes this check to fail, regardless of replica count.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Operational Resilience (Email) Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · performance-efficiency.capacity — Performance Efficiency / Capacity — horizontal scaling requires stateless workers
Taxons
History
- 2026-04-18·v1.0.0·Initial import from operational-resilience-email·automated