Когда речь заходит о крупнейших российских маркетплейсах, Ozon неизменно занимает лидирующие позиции по трафику, обороту и количеству продавцов. Но мало кто задумывается о том, какие технологии стоят за этой гигантской платформой, обрабатывающей миллионы заказов ежедневно. Если вы продавец, разрабатываете интеграции с Ozon или просто интересуетесь высоконагруженными системами — понимание технической «кухни» платформы поможет оптимизировать работу и избежать типичных ошибок.
В этой статье мы детально разберём, на каких языках программирования написан Ozon, какие базы данных и фреймворки используются для фронтенда и бэкенда, а также как устроена архитектура сервиса. Вы узнаете, почему платформа выбрала именно эти технологии, как они масштабируются под нагрузку и какие инструменты применяются для обеспечения отказоустойчивости. Особое внимание уделим API-интеграциям — тому, с чем чаще всего сталкиваются продавцы и разработчики партнёрских сервисов.
Языки программирования в бэкенде Ozon
Основной «движок» Ozon работает на комбинации языков, каждый из которых решает специфические задачи. Главным языком бэкенда долгое время оставался Java — благодаря его надёжности, многопоточности и богатой экосистеме библиотек для enterprise-решений. Однако в последние годы платформа активно внедряет Go (Golang) для микросервисов, где критична производительность и низкая задержка.
По данным вакансий и публичных выступлений инженеров Ozon, примерно 60% бэкенд-кода написано на Java (включая Spring Boot), а оставшиеся 40% распределены между Go, Python (для аналитики и ML) и небольшими вставками на C++ для высоконагруженных компонентов вроде поискового движка. Например, сервис обработки платежей (Ozon Банк) полностью переведён на Go из-за требований к скорости транзакций.
- 🔹 Java (Spring Boot) — основной язык для бизнес-логики, работы с базами данных и интеграций.
- 🔹 Go (Golang) — микросервисы с высокими требованиями к производительности (платежи, поиск, кэширование).
- 🔹 Python — аналитика, машинное обучение (рекомендательные системы, прогнозирование спроса).
- 🔹 C++ — критически важные низкоуровневые компоненты (например, части поискового движка).
Интересно, что Ozon практически не использует PHP или Ruby — языки, популярные на заре развития платформы (2010–2015 гг.). Переход на Java и Go был обусловлен необходимостью обрабатывать растущую нагрузку: если в 2016 году пиковый трафик составлял ~100 тыс. RPS (запросов в секунду), то к 2026 году этот показатель превысил 1 млн RPS в дни крупных распродаж.
Фронтенд: как устроен интерфейс Ozon
Пользовательский интерфейс Ozon — это сложная экосистема из веб-версии, мобильных приложений (iOS/Android) и внутренних админ-панелей для продавцов. Здесь платформа делает ставку на современные фреймворки, обеспечивающие высокую скорость загрузки и плавную анимацию.
Основные технологии фронтенда:
- 📱 React.js — основа для веб-версии и гибридных мобильных приложений (через React Native).
- 📱 TypeScript — используется повсеместно для типизации и уменьшения ошибок в коде.
- 📱 Next.js — для серверного рендеринга (SSR) и оптимизации SEO (критично для маркетплейса).
- 🎨 CSS-in-JS (Emotion, Styled Components) — стилизация компонентов.
Мобильные приложения Ozon изначально разрабатывались нативно (Swift для iOS, Kotlin для Android), но с 2022 года команда активно мигрирует на React Native для ускорения разработки и унификации кода. Это позволило сократить время выпуска новых фич с 3–4 недель до 1–2.
⚠️ Внимание: Если вы разрабатываете партнёрское приложение для интеграции с Ozon API, учитывайте, что платформа требует поддержкиOAuth 2.0и работы сgRPCдля некоторых внутренних сервисов. Классический REST API доступен, но имеет ограничения по скорости обработки запросов.
| Платформа | Основные технологии | Дополнительные инструменты |
|---|---|---|
| Веб-версия | React.js, TypeScript, Next.js | Redux, GraphQL (Apollo Client), Webpack |
| Мобильное приложение (iOS) | Swift (UIKit + SwiftUI) | Combine, Core Data, Firebase |
| Мобильное приложение (Android) | Kotlin (Jetpack Compose) | Coroutines, Room, Dagger 2 |
| Админ-панели | React.js, Material-UI | Formik, React Query, i18next |
Базы данных и хранение информации
Один из ключевых вызовов для Ozon — обработка петабайтов данных: от каталога товаров (более 30 млн SKU) до истории заказов и логов пользовательской активности. Платформа использует комбинацию реляционных и NoSQL-баз, а также собственные решения для кэширования.
Основные базы данных:
- 🗃️ PostgreSQL — основная реляционная БД для транзакционных данных (заказы, платежи, пользователи).
- 🗃️ MongoDB — хранение полуструктурированных данных (каталог товаров, отзывы, аналитика).
- 🗃️ ClickHouse — аналитика и отчёты (например, статистика продаж для продавцов).
- 🗃️ Redis — кэширование сессий, корзин покупателей и часто запрашиваемых данных.
- 🗃️ Tarantool — собственное решение Ozon для высоконагруженного кэширования (используется в поисковом движке).
Для обеспечения отказоустойчивости данные реплицируются между дата-центрами в Москве, Санкт-Петербурге и Казани. Например, база заказов дублируется в трёх локациях с синхронной репликацией, что позволяет избежать потерь данных даже при падении одного ЦОДа.
Архитектура: микросервисы и облачные решения
Ozon построена на основе микросервисной архитектуры, где каждый компонент (поиск, корзина, платежи, логистика) работает как отдельный сервис. Это позволяет масштабировать части системы независимо: например, во время «Чёрной пятницы» можно увеличить мощности только для сервиса обработки заказов, не затрагивая остальные.
Ключевые элементы архитектуры:
- 🌐 Kubernetes (K8s) — оркестрация контейнеров (более 10 тыс. нод в кластере).
- 🌐 Istio — сервисная сетка для управления трафиком между микросервисами.
- 🌐 Apache Kafka — обработка потоковых данных (например, обновление статусов заказов в реальном времени).
- 🌐 gRPC — внутренняя коммуникация между сервисами (замена REST для критичных операций).
Инфраструктура развёрнута в собственных дата-центрах (около 70% мощностей) и частично в облаке Yandex Cloud (для резервирования и тестирования новых фич). Например, сервис Ozon Рут (доставка) полностью работает в облаке, чтобы быстро масштабироваться в зависимости от нагрузки.
Почему Ozon не использует AWS или Google Cloud?
Платформа изначально делала ставку на собственную инфраструктуру из-за требований безопасности (работа с платежами и персональными данными) и желания избежать зависимости от зарубежных провайдеров. Однако после 2022 года часть резервных мощностей была перенесена в Yandex Cloud для повышения отказоустойчивости.
API Ozon: как устроена интеграция для продавцов
Для продавцов и партнёров Ozon предоставляет два типа API:
- REST API — классический интерфейс для работы с заказами, товарами и отчётами. Доступен по адресу
https://api-seller.ozon.ru. - gRPC API — более быстрый и эффективный протокол для высоконагруженных интеграций (например, синхронизация остатков в реальном времени).
Пример запроса для получения списка заказов через REST:
GET https://api-seller.ozon.ru/v2/posting/fbs/unfulfilled
Headers:
- Client-Id: {ваш_client_id}
- Api-Key: {ваш_api_key}
Основные endpoints для продавцов:
- 📦
/v2/products/info— информация о товарах. - 📦
/v2/posting/fbs/list— список заказов FBS. - 📦
/v1/analytics/data— аналитика продаж. - 📦
/v1/finance/transaction/list— финансовые транзакции.
⚠️ Внимание: При работе с API Ozon обязательно настройте повторные запросы (retry) с экспоненциальной задержкой. Платформа ограничивает количество запросов (rate limiting), и при превышении лимита возвращает ошибку 429 Too Many Requests. Рекомендуемая стратегия: 3 попытки с интервалами 1с, 3с и 10с.
Получить Client-Id и Api-Key в личном кабинете|Настроить HTTPS-подключение (обязательно!)|Реализовать обработку ошибок 429 и 500|Протестировать запросы в песчанке (sandbox)|Настроить вебхуки для уведомлений о новых заказах-->
Безопасность и защита данных
Безопасность в Ozon построена на нескольких уровнях:
- Аутентификация — двухфакторная авторизация (2FA) для продавцов и сотрудников,
OAuth 2.0для API. - Шифрование — все данные передаются по
TLS 1.3, а чувствительная информация (платежи, паспортные данные) шифруется на уровне базы данных. - DDoS-защита — собственное решение на базе Nginx и Cloudflare (фильтрация трафика на границе сети).
- Мониторинг — системы Prometheus + Grafana отслеживают аномалии в реальном времени.
Особое внимание уделяется защите от мошенничества: например, сервис Ozon Банк использует машинное обучение для detection фродовых транзакций. Модели обучаются на исторических данных о возвратах и спорных платежах, что позволяет блокировать до 98% подозрительных операций ещё на этапе оформления заказа.
Как эти технологии влияют на работу продавцов
Понимание технической стороны Ozon помогает продавцам оптимизировать взаимодействие с платформой:
- 🛒 Скорость обработки заказов зависит от архитектуры микросервисов. В пиковые часы (18:00–22:00 МСК) возможны задержки до 1–2 секунд при обновлении статусов.
- 📊 Аналитика в личном кабинете обновляется с задержкой до 24 часов из-за batch-обработки данных в ClickHouse.
- 🔄 Синхронизация остатков через API работает быстрее, если использовать
gRPCвместо REST (разница до 300 мс на запрос). - 📦 Логистика (FBS/FBO) управляется отдельным кластером сервисов, поэтому проблемы с доставкой редко затрагивают другие части платформы.
Если вы используете сторонние сервисы для автоматизации (например, МойСклад или 1С), убедитесь, что они поддерживают последние версии API Ozon. Например, с 2026 года устарели endpoints вида /v1/... — их заменили на /v2/... с новыми полями в ответах.
FAQ: Частые вопросы о технологиях Ozon
Можно ли интегрироваться с Ozon через SOAP?
Нет, Ozon полностью отказался от SOAP в пользу REST и gRPC. Последний endpoint для SOAP (/soap/v1) был отключён в 2021 году.
Какой язык программирования лучше выбрать для написания бота для Ozon?
Для ботов, работающих с API, подойдёт любой язык с поддержкой HTTP-запросов: Python (библиотека requests), JavaScript (axios), Go или Java. Если нужна высокая производительность (например, для парсинга каталога), рекомендуем Go или Rust.
Почему в личном кабинете Ozon иногда долго грузятся отчёты?
Отчёты генерируются динамически на основе данных из ClickHouse, который оптимизирован для аналитических запросов, но не для оперативной работы. В пиковые часы (утро и вечер) время ответа может увеличиваться до 10–15 секунд. Решение: скачивайте отчёты в непиковое время или используйте API для автоматического экспорта данных.
Какие базы данных использует Ozon для хранения информации о товарах?
Основной каталог товаров хранится в MongoDB (из-за гибкой схемы и возможности быстро добавлять новые атрибуты), а данные о остатках и ценах — в PostgreSQL (для транзакционной целостности). Для поиска используется отдельный индекс на базе Elasticsearch + собственные алгоритмы ранжирования.
Можно ли получить доступ к исходному коду Ozon?
Нет, Ozon — проприетарная платформа с закрытым исходным кодом. Однако компания иногда публикует открытые инструменты на GitHub (например, библиотеки для работы с API или утилиты для тестирования производительности).