← Все проекты

Защита развившегося «Клуба»

Глава перед этим проектом →

За время курса небольшой школьный «Клуб» превратился в платформу с каталогом, прогрессом обучения, обсуждениями и видео. Теперь нужно защитить целостный проект перед рецензентом. Соберите предыдущие решения и покажите, какие изменения действительно нужны при росте, а какие компоненты могут остаться простыми.

Числа ниже — учебный сценарий. Не выдавайте расчётную оценку за измеренную производительность или актуальный счёт облачного провайдера.

Ограничения

Платформой ежедневно пользуется 1 млн человек: DAU означает число активных пользователей за сутки. Каждый выполняет 20 чтений и 3 записи в день. Пиковая нагрузка в десять раз выше средней; видео считается отдельно. Над системой работают три команды, размещение предусмотрено в двух регионах.

Прогресс нельзя потерять более чем за 5 минут. Данные каталога могут устаревать на 60 секунд. Для бюджета сравните две оценки при одинаковых ценовых предположениях: одинаковом периоде, единицах и составе учитываемых расходов.

Что подготовить

Основной проект должен занимать не более 10 страниц; подробные расчёты вынесите отдельно. Подготовьте пять ADR — кратких записей архитектурных решений: проблема, варианты, выбор и последствия. Выберите два участка системы для подробного разбора, например сохранение прогресса и восстановление после регионального отказа.

Добавьте модель угроз: какие данные и действия защищаются, от кого и на каких границах проверяются права. Опишите наблюдение за системой через метрики, журналы и трассы запросов, а также план проверки восстановления. Покажите эволюцию от первого проекта C1 — школьного сервиса записи на события. Для каждого крупного усложнения назовите причину.

Подсказка

Начинайте с доказанного ограничения. Часть приложения может остаться модульным монолитом: одним развёртываемым сервисом с разделёнными внутренними модулями. Три команды сами по себе не требуют трёх независимых баз или набора микросервисов.

Как проверить решение

Для заданных действий должно получиться примерно 266 запросов в секунду в среднем и 2 662 на пике. Покажите отдельно чтения и записи. Гарантии каталога и прогресса должны различаться согласно условиям, а не сводиться к общему обещанию «всё надёжно».

Попросите рецензента назначить три отказа. Для каждого проследите последствия, обнаружение и восстановление в рамках честно заявленных гарантий. При самостоятельной работе заранее выберите три сценария и зафиксируйте их до проверки проекта.

Усложнение

Эксплуатационный бюджет сократили вдвое. Назовите, какие расходы убираете и как это меняет доступность, сроки восстановления, запас мощности или работу команд.

Как оформить ответ

Сохраните основной проект и ссылки на приложения в тетради. Завершите защиту перечнем неизвестных величин и планом измерений. Результат требует самостоятельной проверки или обсуждения с рецензентом.

Запишите ход рассуждений, расчёты и вопросы. Сохраните текст перед уходом со страницы. После входа в аккаунт ответ участвует в общей синхронизации прогресса. Автоматической оценки архитектуры здесь нет.