Как реализовать webhook delivery с гарантированной доставкой?

Senior
276 просмотров
AFK Offer AI

Надёжный webhook: 1) Сохраняй в очереди (BullMQ) при событии. 2) Worker делает HTTP POST на URL клиента. 3) Retry с exponential backoff при ошибках (3, 5, 10, 30 минут). 4) Подпись: X-Webhook-Signature: sha256=HMAC(secret, body) — клиент верифицирует. 5) Логируй все попытки. 6) Dead letter queue после N неудач — уведомляй владельца. Клиент должен ответить 200 быстро и обрабатывать асинхронно. Timeout запроса: 10 секунд. Уникальный X-Webhook-ID для дедупликации на стороне клиента.

Следующий вопрос

Как реализовать Strategy паттерн в Node.js?