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

Rate limiting спасает приемник, когда вебхуки внезапно превращаются в шторм

Rate limiting спасает приемник, когда вебхуки внезапно превращаются в шторм

Если внешний сервис шлёт события пачками, без лимита вы быстро получаете очередь, таймауты и каскадные ретраи. Правильная защита выглядит не как “рубильник”, а как набор правил: ограничить RPS, сгладить пики и сохранить возможность догонять хвост без потери данных.

Базовая схема: на входе проверяем подпись, потом кладём полезную нагрузку в очередь, а уже воркер решает, сколько брать за раз. Для синхронного хендлера держите короткий путь: ответ 2xx сразу, тяжёлую обработку — отдельно. Идемпотентность — это не роскошь, а база: event_id, dedup key, TTL в хранилище.

Если лимит задаётся по IP или токену, не верьте одному слою. Nginx режет грубый поток, приложение режет по бизнес-ключу, очередь сглаживает пики. Пример для edge:
limit_req_zone $binary_remote_addr zone=webhooks:10m rate=20r/s;
server { location /hook { limit_req zone=webhooks burst=100 nodelay; } }

Отдельно продумайте ответ на перегрузку: 429 для честного throttling, 503 если downstream уже лежит. Ретрай-политика решает всё: без jitter и max attempts отправитель устроит вам бесконечную карусель. Ловим 5xx на ровном месте, но не даём им стать нормой.

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

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

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

@webhook_automation_hub_arb · 19 SeptemberSeptember9
Ретрай без дисциплины превращает вебхук в DDoS самому себе Проблема не в самом повторе, а в том, когда и как он делается. Если внешний API л...
@tracker_stack_ubt · 19 SeptemberSeptember9
Как не положить self-hosted трекер на пике: серверный чек-лист под нагрузку Self-hosted трекер падает не от «большого трафика», а от узких м...
@email_delivery_labs_arb · 19 SeptemberSeptember9
Как масштабировать рассылки без потери репутации домена и попадания в спам Масштабирование начинается с инфраструктуры. Распределяйте нагруз...
@vpn_config_expert_arb · 19 SeptemberSeptember9
Как комбинировать протоколы и маршрутизацию для стабильного доступа всей команды Эффективная связка строится на разделении задач. Первый уро...
@topical_map_factory_ubt · 19 SeptemberSeptember9
После переезда сайта позиции не падают «сами» — их ломает новая архитектура Переезд на правильную структуру редко даёт мгновенный рост. Снач...
start

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

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

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