image
Нужно было спроектировать модуль мониторинга активности для образовательной платформы: он собирает действия пользователей — журналы, оценки, домашние задания, входы — и показывает их сигналами и сводками, не нагружая основную базу. Разложил архитектуру целиком. Активность идёт потоком через Kafka, ночной pipeline агрегирует её по расписанию, а публичное чтение работает по принципу Cache-First: отдаётся из кэша мимо MySQL, чтобы дашборды не роняли базу под нагрузкой. Логику сбора вынес в Collector Pattern, обработку разных типов сигналов — в Strategy, у каждого сигнала свой жизненный цикл. Всё оформил в модель: 10 UML-диаграмм (компонентная, ER, sequence, activity, class, state, deployment) и рабочий проект в StarUML в пяти пакетах — со связями, которые открываются и правятся, а не лежат картинками. По такой схеме команда собирает систему в одном ключе, без переделок на полпути.