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

Rate limiting спасает приемник от шторма событий, если считать токены, а не надежды

Если вебхук валит события пачкой, приемник не должен принимать всё подряд. Нужен лимит на входе: по IP, по API-key, по tenant_id, по маршруту. Иначе один шумный клиент съедает пул воркеров, а остальные начинают ловить 5xx на ровном месте.

Базовая схема: Nginx/Envoy режет частоту на периметре, приложение проверяет квоты на уровне бизнес-ключа, очередь принимает только то, что можно обработать. На 429 возвращаем Retry-After, на переполнении — 503, если нужно дать отправителю шанс на ретрай. Главное — не молчать и не делать вид, что полезная нагрузка уже принята.

Для вебхуков почти всегда нужна связка:
• лимит по burst и среднему RPS
• дедупликация по event_id
• idempotency key в хендлере
• отдельная очередь на тяжелые задачи
• dead-letter для мусора и повторов

Если отправитель умеет ретраи, rate limiting должен быть предсказуемым. Иначе вы сами себе устроите лавину: 429 → ретрай → еще 429 → очереди пухнут → кончаются соединения. Ретрай-политика решает всё, когда она согласована с лимитом и таймаутами.

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

Свежие посты в категории «Сервисы и инфраструктура»

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

start

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

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

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