Thought it was already implicit in the capacity decoupling, could you elaborate a bit more / add an example. I’ve always thought back pressure isn’t applicable to queues because there’s no pressure to begin with, front or otherwise.
Back-pressure here would mean that emitters of messages into your queue behave differently when there is an excessive number of messages waiting to be processed.
For example:
- If it's a job queue, load-shed less important jobs until the queue is healthy.
- If you are ingesting a high volume of messages, be more aggressive with batching them together before inserting as a single queue message.
Think of the queue-as-message-bus pattern -- very common. You don't want to have a service with millions of pending messages to process, it forces you into painful, slow recovery, or making the tough choice of dropping everything.
Anyway, great write up, and happy new year!