High-Load Ticketing: Как продать 10 000 билетов за 5 минут и не упасть
Автор: Денис Косолапов, Руководитель отдела внедрения
Задача: Справиться с пиковыми нагрузками
Клиент — крупный концертный организатор. Основная боль: при старте продаж на популярных артистов старый сайт падал, а интеграции с билетными агрегаторами работали с задержкой, вызывая овербукинг (продажу одного места дважды).
Нам нужно было создать отказоустойчивую систему, объединяющую прямые продажи, партнерские сети и работу "в полях".
Решение и Технологии
Мы отказались от монолита в пользу микросервисной архитектуры.
- Backend: Node.js + NestJS.
- Очереди: Apache Kafka для синхронизации стоков билетов между ВК, Яндекс Афишей и сайтом в реальном времени.
- База данных: PostgreSQL для хранения транзакций + Redis для кэширования схем залов.
- CRM: Глубокая интеграция с Битрикс24 для работы с B2B партнерами.
Мы реализовали "Очередь ожидания" (Virtual Waiting Room) на уровне Nginx, что позволяет отсекать DDoS и плавно пускать пользователей к покупке.

Результаты в цифрах
- 10 000 RPS: Система выдерживает пиковую нагрузку при старте продаж стадионных концертов.
- 0% овербукинга: Благодаря Kafka синхронизация мест занимает миллисекунды.
- +25% к продажам: За счет нативного приложения внутри ВКонтакте (VK Mini Apps).
Top tip
При работе с билетными системами самое важное — не продажа, а вход. Мы разработали PWA для сканеров контролеров, которое работает даже при плохом интернете на стадионе, синхронизируя базу локально.

Сроки и Бюджет
- Срок реализации: 5 месяцев.
- Бюджет: ~700.000 ₽ (включая мобильные интерфейсы и интеграции).