Кейс: NFR для распродажи маркетплейса
Вопрос
Маркетплейс готовится к распродаже «11.11». Бизнес ждёт в 5 раз больше посетителей, чем обычно. Какие нефункциональные требования сформулируешь и откуда возьмёшь цифры?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Профиль нагрузки: обычный и пиковый RPS по ключевым сценариям, из статистики прошлых акций
Производительность: перцентили времени ответа каталога, корзины, оплаты
Доступность и деградация: что можно отключить (рекомендации), что нельзя (оплата)
Масштабируемость и лимиты внешних систем: эквайринг, SMS, доставка
Наблюдаемость и восстановление: алерты, RTO, план отката
Нагрузочное тестирование как критерий приёмки
Что могут спросить следом
- Что делать, если платёжный провайдер выдерживает меньше вашего пика?
- Как приоритизировать сценарии под нагрузкой?
Разбор
Сначала профиль нагрузки: беру статистику прошлых распродаж и текущий трафик, считаю пиковый RPS по сценариям: каталог, поиск, корзина, оформление, оплата. Умножаю на ожидаемый рост с запасом. Для каждого сценария задаю перцентили времени ответа, например оформление заказа p95 до 1 секунды при пиковом RPS. Определяю критичность: оплата и оформление должны работать, рекомендации и отзывы можно деградировать или отключить. Проверяю внешние ограничения: лимиты эквайринга и SMS-шлюза, при необходимости очередь и ограничение входящего потока. Добавляю требования к мониторингу и алертам, RTO и плану отката. Критерий приёмки: нагрузочный тест на прогнозном пике проходит с запасом.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.