До 70 млн запросов в день: как построить отказоустойчивый бэкенд для маркетплейса в облаке
Задача
Решение
Стек технологий
О компании
USmall — маркетплейс зарубежных брендов с ассортиментом от 130 крупных ритейлеров. Каталог состоит из 6+ млн товаров и 10-12 млн вариантов. Каталог, цены и скидки обновляются автоматически. В основе актуализации — собственная ИТ-система, ядро бизнеса USmall.
Система — распределенная инфраструктура синхронизации данных. Автоматическое обновление выполняется в двух режимах: по расписанию и действиям пользователя, например при открытии карточки товара или оформлении заказа. Благодаря этому каталог остается актуальным.
Архитектура решения
В основе — набор микросервисов, развернутых в Managed Kubernetes. Для каждой из 130 торговых площадок выделен отдельный контур обработки данных со своим репозиторием и Docker-образом. Это обеспечивает независимые релизы, изоляцию изменений и гибкую настройку логики обработки под каждый источник без влияния на остальные.
Слой синхронизации данных о товарах построен на базе кастомизированного Scrapy. Он адаптирован командой USmall под высокую частоту обновлений, особенности нагрузки и специфику внешних площадок. Для источников со сложной клиентской логикой и динамическим рендерингом применяются компоненты на базе headless-браузера.
Оркестрация выполняется с помощью Apache Airflow 2.0, который настроен и адаптирован USmall под высокую частоту запуска задач. Управление приложениями в кластере — через привычный команде Rancher, развернутый как self-hosted-решение. Процессы CI/CD и хранение Docker-образов организованы в GitLab.
Внутри платформы реализован собственный паттерн одноразовых рабочих подов: каждый выполняет один цикл и завершает работу. На основе этого команда USmall разработала механизм иерархических подов, где родительский запускает дочерние. Это позволяет обходить ограничения Python по пропускной способности одного воркера и масштабировать обработку за счет параллельного запуска независимых задач.
В тестовом режиме работает AI-модуль — он ускоряет подключение новых интернет-магазинов. Нейросеть запущена внутри Kubernetes-кластера.
Поддержкой и развитием инфраструктуры синхронизации занимается группа технических специалистов, без выделенной DevOps-команды.
Задачи
-
Построить стабильную инфраструктуру для memory-intensive нагрузок
Обработка HTML-страниц и данных о товарах требует много оперативной памяти. USmall нужны ноды с большим объемом RAM, гибким масштабированием и возможностью адаптации под пиковые нагрузки. Ключевое требование — отказоустойчивость. Один час недоступности системы приводит к шести часам задержки обновления каталога. Инфраструктура должна обрабатывать сотни параллельных задач одновременно.
-
Масштабироваться вместе с ростом каталога
Команда USmall каждую неделю подключает новые площадки и расширяет каталог на тысячи товарных позиций — добавление новых нод в кластер должно происходить за минуты. Оперативный доступ к ресурсам нужен также для тестов и проверки гипотез.
-
Обеспечить быструю поддержку и индивидуальный подход
Для бизнеса с непрерывной синхронизацией недопустимо ждать ответа на тикет 3-4 дня, как было у предыдущего облачного партнера. Не менее важна гибкость провайдера — для отдельных задач USmall требовались нетиповые конфигурации.
-
Управлять инфраструктурой без DevOps-инженеров
Команде USmall нужен self-service с понятным UI/UX, который позволит самостоятельно настраивать, контролировать и расширять ресурсы — без дополнительных специалистов.
Почему Timeweb Cloud
-
Надежная инфраструктура
Облако распределено по нескольким крупным дата-центрам. Провайдер развивает сети связи, например устанавливает оборудование с поддержкой 400 Гбит/с. Каналы зарезервированы — при необходимости трафик мгновенно переключается на резервные. Это обеспечивает USmall стабильный аптайм при высоких нагрузках.
-
Качество поддержки и гибкость
Все вопросы быстро решаются в личном чате с топ-менеджерами и инженерами в рамках prime-поддержки. Для USmall это важный фактор стабильности. Когда у маркетплейса возник вопрос мощности под высоконагруженный оркестратор, провайдер оперативно предложил решение.
-
Удобные интерфейсы
Можно централизованно управлять ресурсами, менять их конфигурации и мониторить работу. Маркетплейсу требуется 1-2 минуты, чтобы добавить ноды в Kubernetes‑кластер. Для этого не нужна DevOps-команда: панель управления интуитивно понятная, с простым интерфейсом для решения текущих задач.
-
Экосистема сервисов и выгодные цены
У провайдера 40+ сервисов, включая готовые серверы с предустановленным ПО и операционными системами. Это ускоряет работу команды и избавляет компанию от интеграции нескольких личных кабинетов и API. Также USmall предложили условия, которые снизили затраты на 35% при том же объеме и качестве услуг по сравнению с предыдущим партнером.
«В ИТ нет выходных. Поэтому облачный провайдер должен сочетать надежную инфраструктуру с быстрой поддержкой и удобным пользовательским интерфейсом. Timeweb Cloud закрывает все эти вопросы, что напрямую влияет на стабильность бизнеса USmall»
Станислав Наумов
Руководитель отдела Python-разработки USmall
Решение
-
Managed Kubernetes — ядро системы синхронизации
Основной контур обработки данных USmall развернул в Managed Kubernetes. Кластер включает 13 высокопроизводительных нод. Базовая конфигурация каждой ноды — 32 CPU и 64 ГБ RAM. Отдельные ноды масштабируются до 128 ГБ для наиболее требовательных сценариев. В пиковые периоды инфраструктура совокупно обеспечивает до 450 ядер CPU и до 1 ТБ оперативной памяти. Это гарантирует стабильную обработку множества параллельных задач.
-
Выделенный сервер под оркестратор
По мере роста системы и нагрузки на оркестратор USmall потребовалась нестандартная конфигурация. В результате провайдер собрал выделенный сервер с двумя процессорами по 32 ядра. Airflow был перенесен на него без простоя.
-
VDS и облачные базы данных для тестов
Маркетплейс использует виртуальные серверы для тестирования open-source решений, а DBaaS — при разработке новых проектов. Это обеспечивает совместимость с Managed Kubernetes провайдера и позволяет быстро разворачивать прототипы.
Результаты
-
За время сотрудничества кластер USmall вырос в два раза. Каждое масштабирование занимает пару минут в панели управления, без участия DevOps-специалистов.
-
Ежедневно платформа обрабатывает 50 млн HTTP‑запросов, в период распродаж — до 70 млн.
-
Аптайм системы синхронизации — 99,98%. За весь период сотрудничества не было критических простоев.
-
Маркетплейс гибко выдерживает пики нагрузки: система может одновременно синхронизировать данные 2+ млн товаров.
Планы
USmall планирует развитие по нескольким направлениям: каждое означает увеличение объема облачных ресурсов.
Каталог маркетплейса активно растет, команда подключает 2-3 новых площадки каждую неделю. Это требует добавления нод и увеличения RAM в Kubernetes-кластере.
В работе — следующая версия архитектуры с собственным движком вместо Scrapy. Это позволит более гибко настраивать пайплайны под каждую площадку и точнее управлять логикой обработки данных. Потребуется дальнейшее масштабирование Kubernetes-кластера и увеличение ресурсов для оркестратора Apache Airflow.
Запланирован запуск AI-направления на GPU-инфраструктуре провайдера: обучение моделей, интеллектуальный поиск, развитие чат-бота. В планах также масштабирование managed-сервисов, например рост количества облачных баз данных под новые проекты.
У вас похожая задача?
инфраструктуры и других ИТ-решений Timeweb Cloud.
Оставьте заявку, и мы свяжемся с вами, чтобы обсудить
ваш проект.
