Pub/sub delivery failures: when subscribers cannot keep up
Pub/sub systems push each message to every subscriber. If a subscriber keeps failing, the system retries a few times and then gives up on that delivery.
What causes it
Push delivery depends on the subscriber being available right now. A queue subscriber absorbs bursts and retries at its own pace; a function or HTTP endpoint subscriber can throttle or fail, and after the retry policy is exhausted, the message is gone for that subscriber.
How to recognise it
- Delivery failure metrics rising
- One subscriber missing events the others received
- Throttling on the subscriber side
How to fix it
- Subscribe a queue instead of a function
- Fix or scale the subscriber
Reproduce it in the simulator
Open the simulator, build a small architecture and use Fault injection in the inspector, or push traffic past a component’s capacity.
Learn more
Part of the guide Message queues vs event streams.