Автоматизация на вебхуках

Ретраи без экспоненты — это способ устроить DDOS самому себе

Ретраи без экспоненты — это способ устроить DDOS самому себе

Если хендлер отвечает 5xx или молчит, не шлите повтор мгновенно. Первый дубль — через короткую паузу, дальше увеличивайте интервал по экспоненте: 1s, 2s, 4s, 8s, 16s. Так вы не забиваете очередь и даете внешнему API шанс прийти в себя. Ретрай-политика решает всё, если провайдер любит падать на ровном месте.

Но экспонента без потолка тоже плохая идея. Ставьте max delay, max attempts и общий timeout на доставку. Иначе полезная нагрузка будет жить в ретрай-пайплайне дольше, чем бизнес-польза от события. Для платежей, заказов и статусов лучше переводить такие сообщения в dead-letter queue, а не бесконечно жевать их в основном хендлере.

Обязательные правила:
— идемпотентный ключ на событие: event_id, message_id, request_id;
— хранить счетчик попыток и причину последнего фейла в метаданных;
— различать retryable и non-retryable ошибки: 429/5xx — можно повторять, 4xx с битым JSON — нет;
— добавлять jitter, чтобы тысячи клиентов не просыпались одновременно ⏱️

Смотрим в тело запроса: если ответ пришел, но запись не сохранилась, повтор должен быть безопасным. Идемпотентность — это не роскошь, а база. Иначе одна и та же вебхук-событие превратится в двойной заказ, двойной платеж и ночной разбор логов.
Этот пост опубликован в Telegram-канале Автоматизация на вебхуках. Подписаться можно по ссылке: @webhook_automation_hub_arb.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.