День запуска не отказывает постепенно. Он отказывает разом.
Расчёт мощности исходит из того, что трафик приходит с некоторой скоростью. Момент старта продаж, запуск кампании, публикация результатов экзаменов и открытие записи приходят не со скоростью — они приходят мгновенно. Приложение при этом не деградирует вежливо: пул соединений заполняется, база данных встаёт в очередь, время ответа растёт, а пользователи обновляют страницу — и удваивают ту самую нагрузку, которая вызвала проблему.
Привычные ответы делают хуже. Автомасштабирование добавляет экземпляры уже после того, как всплеск случился и база данных стала узким местом. Ограничение частоты отклоняет запросы — а для покупателя, вставшего в очередь за билетом на концерт, это неотличимо от неработающего сайта. Оба варианта оставляют одно впечатление: в минуту, к которой вы больше всего хотели быть готовы, вы готовы не были.
Комната ожидания меняет форму задачи. Поток не отклоняют и не отбрасывают — его упорядочивают. Приложение обслуживает то число, которое обслуживает хорошо, все остальные держат место с позицией и оценкой времени, а платформа впускает следующего в тот момент, когда место освобождается.
Наш подход
Очередь работает на платформе доставки, перед приложением, поэтому она на ногах тогда, когда приложение уже на пределе, — и ни строчки кода приложения не участвует в том, чтобы кого-то впустить, удержать или выпустить.
Потолок, который приложение действительно тянет
Задайте максимальное число посетителей, одновременно допущенных в опубликованную службу. Это число берётся из того, что приложение доказанно обслуживает хорошо, а не из того, что теоретически способно пропустить оборудование.
Шлюз на скорость прихода, а не только на размер потока
Отдельный потолок ограничивает, сколько новых посетителей может войти за минуту. Именно он защищает сервер, который выдерживает большую, но ровную аудиторию и разваливается, когда десять тысяч человек приходят в одну секунду.
Режим наблюдения — ёмкость находится до события
Запустите комнату ожидания в режиме наблюдения, и она посчитает, что произошло бы, никого при этом не задерживая. Вы подбираете размер очереди на собственном трафике, в обычный день, и приходите к событию с числом, которому доверяете, а не с тем, которое угадали.
Проверенные боты не занимают место в очереди
Проверенные поисковые системы и зонды мониторинга распознаются и исключаются, поэтому индексация и проверки доступности продолжаются во время события и ни одно место не тратится на трафик, который всё равно ничего не купит.
Возможности
Всё перечисленное настраивается для каждой опубликованной службы на том же экране, что и остальная политика трафика, и любое изменение вступает в силу горячей перезагрузкой — в том числе во время события.
Максимум одновременных посетителей для каждой службы
У разных приложений разные пределы, и одно устройство может одновременно вести для каждого из них свою комнату ожидания. Потолок — свойство службы, а не коробки.
Новых посетителей в минуту — защита от всплеска
Шлюз прихода независим от потолка одновременности. Пул, которому комфортно с 20 000 человек внутри, всё равно может быть уничтожен приходом 20 000 разом; именно этот параметр разделяет два случая.
Условные страницы ожидания — только там, где это важно
Очередь применяется по условию, поэтому оформление заказа и покупка билета защищены, а каталог, справка и страница статуса остаются открытыми. Посетитель ждёт то, чего мало, а не весь сайт.
Позиция и ожидаемое время — на глазах у посетителя
Очередь без номера неотличима от зависшей страницы. Страница ожидания показывает, где посетитель стоит и сколько это, вероятно, займёт: в этом и разница между «подождать» и «уйти».
Место сохраняется — обновление его не стоит
Позиция привязана к сессии посетителя, поэтому обновление страницы, обрыв соединения или переход с мобильного интернета на Wi-Fi не отправляют никого в конец очереди. Шторм обновлений перестаёт быть самострелом.
Ваша собственная страница ожидания
Страница — это шаблон, которым управляете вы: ваш бренд, ваш язык, ваш текст. Её отдаёт платформа, даже когда приложение за ней полностью занято.
Впуск в тот момент, когда освобождается место
По мере завершения сессий следующие посетители выпускаются автоматически. Никто не ждёт таймера, который перестал соответствовать реальности.
Живая видимость во время события
Глубина очереди, число впущенных в минуту, среднее ожидание и доля отказов — на экране прямо по ходу события, поэтому решение поднять или опустить потолок принимается по фактам, а не по телефону.
Операционная глубина
Комната ожидания хороша ровно настолько, насколько хорошо она ведёт себя в неудобных случаях: переключение узла посреди события, флот ботов в очереди, посетитель на неустойчивой связи.
Очередь на платформе, а не в приложении
Нет агента, нет библиотеки, нет правок кода и нет отдельной службы очередей, которую надо эксплуатировать. Приложение вообще не узнаёт, что комната ожидания существует; оно просто никогда не видит больше трафика, чем способно обслужить.
Честный порядок, привязанный к сессии
Впуск идёт по принципу «первым пришёл — первым вошёл», а позиция следует за сессией посетителя, а не за IP-адресом: корпоративный NAT, CGNAT оператора или общий офисный канал не выстраивают всех друг за другом.
Сочетается с остальным набором защиты
Скоринг ботов работает до очереди, поэтому автоматический трафик обрабатывается, а не ставится в очередь. Ограничение частоты продолжает действовать для тех, кто внутри. Комната ожидания управляет честным потоком; от неё не требуется быть средством безопасности.
Переживает переключение узла
Состояние очереди реплицируется по кластеру, поэтому отказ узла во время старта продаж не сбрасывает очередь. Событие продолжается на уцелевшем узле, позиции у всех сохраняются.
Поведение при обновлении, новых вкладках и общих устройствах
Вторая вкладка присоединяется к тому же месту, а не занимает второе. Явные правила описывают истечение сессии и уход, поэтому места, оставленные ушедшими посетителями, возвращаются в очередь, а не удерживаются вечно.
Включается и выключается во время события
Вся функция меняется горячей перезагрузкой. Её можно включить за минуты до старта продаж и выключить, как только пик прошёл, не потеряв ни одного соединения и ничего не перезапуская.
Когда применять
Момент старта продаж и билетные системы
Концерты, матчи и распродажи путешествий сжимают годовой трафик в девяносто секунд. Комната ожидания превращает необслуживаемый всплеск в упорядоченную очередь, и каждый посетитель держит место, которое видит.
Запуски продуктов и кампании
Сработавшая кампания на сетевом уровне неотличима от атаки. Комната ожидания позволяет маркетингу добиться успеха, не требуя от инфраструктуры впитать весь этот успех за одну секунду.
Окна подачи заявлений в госсекторе
Результаты экзаменов, налоговые сроки и открытие записи объявляются целому населению на объявленную минуту. Очередь с видимой позицией — ещё и самый честный ответ, который можно дать гражданам.
Зарплатные и месячные пики в банках
Предсказуемые повторяющиеся пики не оправдывают постоянного расчёта платформы на худший час месяца. Комната ожидания закрывает пик, а платформа остаётся рассчитанной на обычный день.
Часто задаваемые вопросы
Чем это отличается от ограничения частоты?
Нужно ли менять приложение?
Как выбрать правильное число одновременных посетителей?
Что произойдёт, если посетитель обновит страницу или потеряет связь?
Не застрянут ли в очереди поисковые системы и мониторинг?
Что будет с очередью, если во время события откажет узел кластера?
Будьте готовы к минуте, которая решает квартал
Потолок одновременности, шлюз прихода и брендированная очередь — настраиваются для каждой службы и подбираются в режиме наблюдения до события. Давайте настроим это на вашем трафике.