Queue architecture: acknowledgement, idempotency, retries and dead letters
A queue decouples systems, but it does not remove pending work: it moves it. Design principles for acknowledging at the right moment, avoiding duplicate effects, retrying with judgment and operating the dead-letter queue.