Логистический центр Ozon под нагрузкой: темы ВКР по автоматизации склада и распределённым системам
25 марта 2026 года Ozon сообщил о запуске третьей и четвёртой очередей логистического комплекса в Ярославской области — объект вышел на проектную мощность. За сухими строчками пресс-релиза стоит инженерная задача, знакомая каждому, кто проектировал высоконагруженные системы: как заставить сортировочные линии, конвейеры, WMS и транспортные подсистемы работать как единый организм при пиковых нагрузках вроде распродаж и сезонных всплесков. Именно здесь рождаются сильные технические ВКР — не «сайт магазина», а реальные архитектурные и алгоритмические задачи, которые можно защитить с цифрами на слайдах. Ниже — конкретные сценарии, как превратить эту новость в фундамент диплома.
Три темы ВКР, которые вырастают из этой новости
Тема 1. Проектирование подсистемы маршрутизации заказов внутри распределительного центра
Актуальность. Масштабирование логистического хаба до нескольких очередей (как в Ярославле) упирается в алгоритмы распределения товаропотока между зонами: приёмка, буфер, сортировка, отгрузка. Классические «ручные» регламенты не выдерживают роста SKU.
Цель: разработать и обосновать алгоритм динамической маршрутизации заказов, снижающий среднее время обработки партии.
Задачи:
- Проанализировать существующие подходы к маршрутизации (FIFO, приоритетные очереди, эвристики на графах).
- Сформулировать критерии оптимизации: пропускная способность, задержка, загрузка конвейеров.
- Спроектировать сервис маршрутизации на микросервисной архитектуре.
- Провести имитационное моделирование и сравнить сценарии.
Структура: Глава 1 — анализ предметной области и математической постановки; Глава 2 — архитектура сервиса, схемы БД, диаграммы последовательностей; Глава 3 — эксперименты, метрики, расчёт экономического эффекта от сокращения простоя.
Тема 2. Мониторинг и наблюдаемость распределённого логистического комплекса на OpenTelemetry
Актуальность. Когда склад работает «на полную мощность», любая деградация одного из десятков сервисов (сканеры, весовое оборудование, WMS-интеграции) моментально отражается на выработке. Публикация Ozon — прямой кейс «зачем нужна распределённая трассировка».
Цель: построить референсную систему наблюдаемости для сценария складского комплекса.
Задачи:
- Обосновать набор метрик по ISO/IEC 25010 (производительность, надёжность, восстанавливаемость).
- Развернуть сбор метрик и логов (коллекторы OpenTelemetry, хранилище временных рядов).
- Настроить алертинг на ключевые SLO (время отклика API приёмки, доступность сервиса отгрузки).
- Провести нагрузочное тестирование и показать корреляцию метрик с инцидентами.
Структура: Глава 1 — теория observability и стандарты; Глава 2 — схема развёртывания, конфигурации, архитектурная диаграмма; Глава 3 — эксперименты, графики, отчёты по RTO/RPO.
Тема 3. Масштабирование складских сервисов в Kubernetes с автоскейлингом по событиям
Актуальность. Третья и четвёртая очереди — это кратный рост параллельных операций. Ручное выделение ресурсов под каждую волну заказов экономически невыгодно, а контейнерные платформы с автоматическим масштабированием становятся отраслевым стандартом.
Цель: исследовать и реализовать прототип автоскейлинга очередей обработки заказов.
Задачи:
- Обосновать выбор между HPA, VPA и KEDA для сценариев складской нагрузки.
- Разработать CI/CD-пайплайн сборки и развёртывания сервисов.
- Собрать нагрузочный стенд на основе исторических пиков заказов.
- Оценить TCO и время реакции на пик.
Структура: Глава 1 — облачные паттерны и сравнение оркестраторов; Глава 2 — проектирование кластера, манифесты, схема пайплайна; Глава 3 — метрики масштабирования, экономика.
Аналитическая глава: как превратить новость в источник данных
Первая глава ВКР обычно самая скучная — студенты переписывают учебники. Сделайте иначе: используйте публикации вендоров и отраслевые новости как эмпирику. Пример из статьи: Ozon не раскрывает детальную архитектуру, но сам факт запуска нескольких очередей и выхода на полную мощность — это сигнал о классе задач (высокая связанность, конвейерная обработка, строгие SLA). На основе этого вы формулируете требования к системе и строите сравнительную таблицу технологических стеков.
| Критерий сравнения | Монолит (классика) | Микросервисы + Kubernetes | Serverless (событийно-ориентированный) |
|---|---|---|---|
| Горизонтальное масштабирование | Ограничено | Гибкое, HPA/KEDA | Автоматическое, но с cold start |
| Стоимость владения при пиках | Высокая (простой железа) | Средняя (автоскейлинг) | Оплата по факту, но непредсказуемо |
| Сложность наблюдаемости | Низкая | Требует OpenTelemetry | Требует распределённого трейсинга |
| Соответствие ГОСТ 34.602-89 (ТЗ) | Проще описать | Нужно разложить на сервисы | Требует уточнения границ |
Такая таблица сразу закрывает вопрос «где обоснование выбора стека», который любят задавать на защите. Не бойтесь, что сравнение приблизительное — важно показать логику, а не убить месяц на бенчмарки.
Проектная часть: от UML до работающего прототипа
Схемы, которые обязательно должны быть
- Диаграмма компонентов распределительного центра с выделением подсистем (приёмка, хранение, сортировка, отгрузка).
- Диаграмма последовательностей для критичных сценариев (например, обработка заказа с приоритетом).
- ER-модель данных с обоснованием выбора СУБД (PostgreSQL vs колоночные решения для аналитики).
- Диаграмма развёртывания в Kubernetes (namespace, deployment, service, ingress).
Интеграция и протоколы
В логистике критичны обмен в реальном времени (REST/gRPC между сервисами), очереди для асинхронных задач (Kafka, RabbitMQ) и промышленные протоколы при работе с оборудованием. В дипломе не обязательно трогать железо — достаточно спроектировать шлюз, который абстрагирует «железный» уровень и публикует события в шину. Это ровно та задача, которую решают при выводе логистических хабов на проектную мощность: связать legacy-оборудование с современными сервисами.
// Пример описания события приёмки заказа в терминах OpenTelemetry tracing
Span acceptor.ingest
attrs: { "hub.id": "yaroslavl-3-4", "dock": 12, "sku": "...", "qty": 40 }
child -> Span wms.reserve (reserve quota for sorting conveyor)
child -> Span conveyor.route (assign to available lane)
child -> Span outbox.publish (Kafka topic: warehouse.events)
Тестирование и метрики: чем закрывать третью главу
Третья глава ВКР — это не «погоняли программу, работает». Это измерения. Минимальный набор, соответствующий ISO/IEC 25010 и ожиданиям комиссии:
- Производительность: пропускная способность (заказов/час), задержка p95/p99 на критичных операциях.
- Надёжность: результаты chaos-тестов (убийство pod’а, отвал брокера), значение RTO/RPO для подсистемы.
- Масштабируемость: график роста throughput от числа реплик при фиксированном узком месте.
- Экономика: сравнение затрат на ресурсы до и после автоскейлинга.
Нагрузочное тестирование проводите через генератор, эмулирующий волновой профиль (всплеск — стабилизация — спад), как на реальных распродажах. Это ровно тот сценарий, с которым столкнётся Ozon и подобные площадки при запуске новых очередей.
- Подмена терминов. Пишут «SaaS» про собственное развёртывание в кластере, «PaaS» — про готовый веб-сервис. Комиссия ловит это мгновенно. Обязательно сверьте модель обслуживания с определением NIST SP 800-145.
- Отсутствие метрик эффективности. Фраза «система работает быстрее» без секунд, процентов и условий эксперимента — незачёт гипотезы. Вводите базовую линию и сравнивайте.
- Игнорирование требований к оформлению ТЗ. По ГОСТ 34.602-89 техническое задание имеет конкретную структуру разделов (основания для разработки, требования к системе, стадии, приёмка). Не втискивайте его в свободный пересказ.
Чему вы научитесь на такой теме
- Формализовать хаос реального объекта в архитектурные требования (диаграммы C4, сценарии использования).
- Обосновывать выбор стека не вкусом, а критериями и стандартами.
- Работать с наблюдаемостью: метрики, логи, трейсы, SLO-алерты.
- Готовить приёмочные тесты и оформлять документацию по ГОСТ 34 и 19.
Насколько глубоко нужно писать код для ВКР по такой теме?
Зависит от требований кафедры, но эмпирически: минимально достаточный уровень — работающий прототип критичного сервиса плюс имитационная модель нагрузки. Полностью строить логистический центр в дипломе нереально и не нужно. Комиссии важнее корректность проектных решений и наличие метрик.
Где взять реалистичные тестовые данные, если нет доступа к складской системе?
Используйте открытые датасеты e-commerce (например, датасеты заказов маркетплейсов на Kaggle), генераторы синтетических потоков и отраслевые отчёты. Дополнительно можно смоделировать распределение SKU по закону Парето — оно хорошо приближает реальные склады.
Что писать в экономической главе, если система учебная?
Считайте TCO: затраты на инфраструктуру (кластер, хранилище), труд разработки, эксплуатацию. Сравните сценарный эффект: снижение простоя, ускорение обработки партии, экономия на ручных операциях. Даже модельный расчёт с явными допущениями принимается, если он логичен.
Обязательно ли использовать Kubernetes и OpenTelemetry?
Нет, это инструменты под конкретную постановку. Если ваша тема про алгоритм маршрутизации — можно остаться на монолите и имитационной модели. Но если речь о масштабируемости и отказоустойчивости, эти сущности дают готовый язык для защиты решений.
- В списке литературы есть ссылка на источник-новость, оформленная по ГОСТ Р 7.0.5-2008 (электронный ресурс).
- Задачи из введения дословно совпадают с выводами по главам.
- Каждый выбор технологии снабжён критерием и альтернативой.
- Есть хотя бы одна ER-диаграмма, одна диаграмма компонентов и одна диаграмма последовательностей.
- ТЗ оформлено по ГОСТ 34.602-89, документация — по ГОСТ 19.201-78, если есть программный продукт.
- Все метрики имеют единицы измерения, условия эксперимента и базовую линию.
- Проверена терминология облачных моделей обслуживания (IaaS/PaaS/SaaS).
Источник: Ozon вывел на полную мощность крупный логистический центр в Ярославской области (опубликовано 2026-03-25)