Один медленный webhook тормозит всех: как изолировать доставку без очереди на каждого получателя
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
AI-ассистенты стали одним из новых типов бот-интеграций, но инфраструктурная проблема для них та же, что и для обычных ботов: каждый webhook-получатель может отвечать медленно или быть недоступен. В общей очереди такой «шумный сосед» накапливает ретраи и задерживает сообщения для исправных потребителей. Отдельная физическая очередь на каждого получателя даёт изоляцию, но плохо масштабируется с ростом числа интеграций. На примере платформы ботов Яндекс Мессенджера я покажу, как мы проектировали переход от общей очереди к логической изоляции по бизнес-ключу бот × чат. В докладе разберу, почему единица отказа и единица порядка не обязаны совпадать: webhook конкретного бота может отказать целиком, а порядок сообщений требуется сохранять внутри его отдельного диалога. Такая граница позволяет разделять ретраи независимых потребителей и параллельно обрабатывать независимые ключи без отдельной физической очереди для каждого из них. Разберём, какой внутренний механизм поставить за webhook-доставкой: брокер сообщений, персистентный планировщик отложенных задач или их комбинацию. Покажу требования и критерии выбора, поэтапную миграцию работающего сервиса, ограничения и цену выбранной архитектуры. Слушатели получат практическую схему: как выбрать границу изоляции, совместить порядок с параллельной обработкой и снизить влияние «шумных соседей» без взрывного роста инфраструктурных сущностей.
7 лет опыта. Сейчас руководит командой бэкенда интеграционной платформы Яндекс Телемоста.
Видео
Другие доклады секции
Архитектура и масштабируемость