98
Превращаем IT-разработку
в инструмент роста
для вашего бизнеса
МЕНЮ
Фонд
Тотальный Диктант
главная / КЕйсы / Тотальный диктант
/ задача
Подготовить платформу проекта к проведению трансляции мероприятия.
/ суть проекта
Тотальный диктант — всемирная ежегодная образовательная акция, призванная привлечь внимание к вопросам грамотности и развить культуру грамотного письма. Диктант проходит онлайн, его ежегодно пишут сотни тысяч человек по всему миру.
/ Особенность
«Тотальный диктант» — проект, который во многом реализуется силами активистов и волонтеров. Здесь нет возможности использовать сотню геораспредленных серверов или потратить год команды разработки на создание сложного полностью кастомного приложения. Нужно максимально эффективно утилизировать имеющиеся ресурсы и найти недорогие решения с точки зрения разработки.
/ решение
2020 год показал, что система ТД была на пределе: в момент трансляции оба сервера не выдержали нагрузки и легли. А в 2021 году количество участников диктанта должно было прирасти. Апгрейд был жизненно необходим, но в условиях ограниченного бюджета.

Первым делом мы протестировали систему: слабым местом оказалась авторизация пользователей. Оптимальное решение — вынести сервис авторизации за контур и переделать именно его, не трогая окружение. Это принцип микросервисной архитектуры, когда информационная система состоит из отдельных слабосвязанных модулей, которые можно разрабатывать, практически не касаясь соседей. Так IT-проект получается максимально гибким и готовым к постоянному росту.

Провели нагрузочное тестирование (через Яндекс. Танк) — сымитировали поведение пользователей и выдерживаемую нагрузку. В итоге добавили второй временный сервис, чтобы в день Х наверняка справиться с пиковой посещаемостью.

Также позаботились о резервном сохранении данных, если вдруг что-то глобально рухнет, пользователь не потеряет написанный диктант.
/итог
В 2021 году «Тотальный диктант» написали 675 тысяч человек, 585 тысяч из них — в онлайн формате. Платформа выдержала 150 000 сессий в секунду.

Технологии: html + php laravel