Webhook delivery with ordering

DesignHard45 minStripe style

Your task

Design the delivery engine for outbound webhooks where per-endpoint event ORDER matters (e.g. invoice.created must reach the customer before invoice.paid) and customer endpoints are flaky. 200M events/day, ~80k destination endpoints. You need at-least-once delivery, strict per-resource ordering, retries with backoff that don't reorder, and a way for slow endpoints not to block everyone. Focus on the ordering + retry guarantees, not the public API.

It covers

  • Ordering
  • Retries
  • Idempotency
  • Delivery guarantees