ПО для маркетплейса
Маркетплейс не просто принимает заказы: он изолирует в одной базе данные тысяч продавцов, делит заказ из одной корзины между несколькими сторонами и делает это под резкими всплесками трафика в дни акций. Эта страница о том, как устроена такая архитектура.
- Каждая возможность сначала существует как API
- API-firstКаждая возможность сначала существует как API
- Слой приложения без состояния; число реплик увеличивается
- Горизонтальное масштабированиеСлой приложения без состояния; число реплик увеличивается
- Возможность работы на вашем собственном сервере
- Облако или on-premiseВозможность работы на вашем собственном сервере
- База данных и файлы под вашим контролем
- Владение даннымиБаза данных и файлы под вашим контролем
Почему архитектурные решения — самые дорогие в исправлении?
Вопросы, которые задают при выборе ПО для маркетплейса, отличаются от вопросов при выборе решения для одиночного магазина. Здесь система не просто принимает заказы: она изолирует в одной базе данные тысяч не знакомых друг с другом продавцов, применяет к каждому свой объём прав, делит заказ из одной корзины между несколькими сторонами — и делает всё это под резкими всплесками трафика в дни акций.
Поэтому архитектурные решения — самые дорогие в исправлении. Глубина дерева категорий, способ хранения атрибутов товара, отделён ли поисковый слой от базы данных и где лежит файловое хранилище: в первые месяцы всё это незаметно, а на масштабе в миллионы записей определяет потолок системы. Точно так же модель аутентификации и прав должна изначально проектироваться под мультитенантность.
Третья тема — независимость. Платёжная организация, служба доставки и сервис счетов со временем меняются; система, привязанная к ним напрямую, переписывается при каждой замене. Интерфейсы, не зависящие от поставщика, снимают этот риск. Та же логика работает и на стороне развёртывания: если ПО может работать только у одного облачного провайдера, в долгую это ограничение.
Слои приложения и данных
Слева — как делится бизнес-логика, справа — где лежат данные. С ростом масштаба решающей становится правая колонка.
Слои приложения
- Слой API: каждая возможность сначала существует как эндпоинт, а интерфейсы его потребляют
- Модульная бизнес-логика: заказы, платежи, доставка, продавцы — в отдельных модулях
- Интерфейсы без привязки к поставщику: интеграции платежей, доставки и счетов подчинены контракту
- Движок рабочих процессов: автоматизация по правилам задаётся без изменения кода
- Слой витрины: фронтенд с серверным рендерингом, открытый для SEO
- Админ-панель и панель продавца — разные интерфейсы, общий API
Слои данных и инфраструктуры
- Реляционная база данных: заказы, платежи, выплаты и другие данные, требующие согласованности
- Поисковый движок (Typesense): отделение поиска по каталогу от базы данных
- Слой кэширования: часто читаемые данные каталога и контента не пересчитываются заново
- Объектное хранилище: изображения товаров и файлы; раздача через CDN
- Очереди и фоновые задачи: массовый импорт, уведомления и доставка вебхуков
- Журналы операций и аудита
Технические гарантии, которые даёт платформа
Мультитенантная изоляция данных
Данные продавцов разделены на уровне организации; каждый запрос проходит проверку области видимости. Доступ одного продавца к данным другого исключён архитектурно.
Ролевая модель доступа
Отдельные наборы прав для администратора площадки, продавца, сотрудника продавца и покупателя. Разрешения задаются на уровне ресурсов.
Выделенный поисковый слой
Поиск по каталогу не нагружает базу данных. Устойчивость к опечаткам, многомерная фильтрация и отклик за миллисекунды на масштабе в миллионы записей.
Горизонтальное масштабирование
Слой приложения работает без состояния; при росте трафика увеличивается число реплик. В дни акций мощности добавляются без простоя.
Архитектура кэша и CDN
Каталог и контент кэшируются, изображения раздаются через CDN. Число запросов, доходящих до исходного сервера, заметно снижается.
Движок рабочих процессов
Правила «условие — действие» задаются из панели; для новой автоматизации не нужен релиз.
Слой вебхуков и событий
Внутренние события передаются во внешние системы подписанными запросами; неуспешные доставки повторяются и ставятся в очередь.
Многоязычность и мультивалютность
Контент и каталог ведутся на уровне языка; структура URL и микроразметка формируются отдельно для каждого языка.
Слой безопасности
Аутентификация на токенах, ключи API с ограниченной областью, ограничение частоты запросов и журнал аудита.
Витрина, открытая для SEO
Страницы рендерятся на сервере; поисковая система видит содержимое, не выполняя JavaScript. Микроразметка и управление canonical идут из коробки.
Управление версиями и развёртыванием
Тестовая, предпродакшн- и боевая среды разделены; обновления применяются контролируемо.
Расширяемость
Дополнительные модули и сторонние приложения подключаются через тот же слой API; код ядра не меняется.
Сравнение облака, on-premise и гибрида
Решение обычно принимается не по техническим причинам, а по требованиям соответствия: определяющим оказывается вопрос, где должны храниться данные.
| Критерий | Облако (управляемое) | On-premise | Гибрид |
|---|---|---|---|
| Ответственность за серверы | На нас | На вас | Разделена |
| Расположение данных | Облако в выбранном регионе | Ваш собственный дата-центр | Чувствительные данные у вас, остальное в облаке |
| Масштабирование | Добавление мощностей быстрое и гибкое | Ограничено ёмкостью оборудования | Зависит от слоя |
| Стартовые затраты | Низкие | Требуются вложения в оборудование | Средние |
| Требования соответствия | Достаточно для большинства сценариев | Подходит, если данные должны оставаться в стране | Подходит при частичных ограничениях |
| Обслуживание и обновления | С нашей стороны | Планируются с вашей ИТ-командой | Разделены |
Каким командам подходит эта платформа?
Компании с собственной командой разработки
Ваша команда может написать собственный фронтенд на слое API, добавить свои модули и подключить систему к существующим. При этом вы продолжаете получать обновления ядра.
Слой API и вебхуковКорпоративный ИТ и требования соответствия
Где хранятся данные, кто к ним обращается и как они резервируются — всё это закрепляется договором. Развёртывание on-premise и журнал аудита готовы для таких сценариев.
Высоконагруженные проекты
В проектах, где в дни акций трафик кратно растёт, выделенный поисковый слой, кэш и горизонтальное масштабирование работают вместе.
Тем, кто хочет headless
Вы можете использовать платформу только как слой данных и бизнес-логики, а фронтенд написать на своей технологии.
Headless-коммерцияЧетыре вещи, за которыми следят после запуска
Мониторинг и оповещения
Отслеживаются времена отклика, доля ошибок и задержки очередей; при превышении порога формируется оповещение.
Резервные копии и восстановление
Регулярные копии и учения по восстановлению; важно не наличие копии, а возможность вернуться.
Дисциплина доступа
Доступ к боевой среде ограничен по ролям, а все операции фиксируются в журнале аудита.
Планирование мощностей
Нагрузочное тестирование и наращивание мощностей планируются до акции; решение о масштабировании не принимается после прихода трафика.
Часто задаваемые вопросы
Вопросы, которые чаще всего задают технические команды и ИТ-руководители.
Похожие страницы
Мультивендорная электронная коммерция
Деловая сторона вопроса: динамика двустороннего рынка, take rate и операции.
API-интеграция маркетплейса
Поверхность REST API, события вебхуков и паттерны интеграции.
Headless-коммерция
Написать фронтенд на своей технологии и использовать платформу как слой данных.
Все возможности маркетплейса
Полное описание модулей платформы и их технические детали.
Обсудим ваши архитектурные требования вместе
Давайте назначим техническую встречу и обсудим ожидаемые объёмы, список интеграций и модель развёртывания.
Вариант on-premise · Данные принадлежат вам · Поддержка 24/7