Старый портал клиента падал при 30 запросах в секунду, а покупатели уходили к конкурентам, не дождавшись ответа. GROTEM с нуля построил два продукта — B2B-портал и систему управления собственной базой кроссов — и ещё до разработки доказал на нагрузочных тестах, что новая архитектура выдержит нагрузку.

Клиент — крупный российский B2B-дистрибьютор запчастей для азиатских, российских и европейских легковых автомобилей. Компания торгует двумя способами: со своих складов (более 30 000 наименований) и по схеме кросс-докинга — более 1 млн товаров поставщиков доступны под заказ на портале. Покупатели — магазины запчастей, СТО и оптовые компании; всё больше из них закупают не через интерфейс, а по API.
Главная особенность бизнеса — кроссы, связи между взаимозаменяемыми запчастями. Готовые каталоги аналогов часто ошибаются, и за неподошедшие детали претензии получает продавец. Поэтому компания ведёт собственную базу кроссов: её ежедневно проверяет и пополняет отдельный отдел.
Заменить текущий B2B-портал и систему кроссирования современным высокопроизводительным решением, чтобы обойти конкурентов по скорости подбора товаров и подготовиться к выходу на международный рынок.
Отдавать результат запроса с аналогами, ценами и сроками доставки быстрее конкурентов — и в интерфейсе, и по API.
Построить архитектуру, которая растёт вместе с числом клиентов, складов и регионов, при единой базе кроссов.
Дать отделу кроссировщиков инструмент для быстрой загрузки, проверки и исправления связей между товарами.
Загружать прайс-листы и рассчитывать цены на товары под заказ без ручной работы.
Заложить мультивалютность и мультиязычность для работы в других странах и с частными покупателями.
Подключить собственных разработчиков к разработке, чтобы после запуска компания сама развивала и поддерживала портал.
Готовые платформы для Automotive закрывали бы только портал и не учли бы ценообразование компании, складывавшееся годами. Поэтому GROTEM разработал с нуля два независимых продукта на общей микросервисной платформе — B2B-портал для клиентов и административный портал для сотрудников, — а все права на код остались у клиента.
По бренду и артикулу портал за один запрос находит все кроссы, проверяет остатки на собственных складах и в прайс-листах поставщиков, считает индивидуальную цену и срок доставки до торговой точки клиента:
Отдел кроссировщиков ведёт 40 млн записей кроссов по 20 млн товаров в одном интерфейсе: загружает и удаляет кроссы из Excel тысячами строк, видит ошибки по каждой строке и исправляет их до публикации:
Прайсы около 100 поставщиков поступают по трём каналам — с почты, с собственного FTP и с FTP поставщика. Система сама разбирает файлы в среднем на 1 млн строк и применяет к ним наценки и скидки по бренду, городу, способу доставки и даже ключевым словам в названии товара:
Товары, склады, клиенты и поставщики асинхронно приходят из 1С — 19 файлов, некоторые на тысячи строк. Каждая строка проверяется, и при ошибке 1С получает ответ с конкретной причиной (система распознаёт более 200 видов ошибок). Для сайтов и систем клиентов открыт внешний API.
Проект совмещал технические и организационные вызовы: производительность пришлось доказывать без исходных метрик, а продукт — строить вместе с разработчиками заказчика.
Заказчик потребовал сначала доказать производительность на ядре расчётов — без интерфейса. С ноября 2022 по февраль 2023 года прошли четыре этапа нагрузочных тестов: собственные товары, товары поставщиков, запись в базу и полное ядро. После каждого этапа добавлялись новые условия.
Заказчик поставил цель в 100 мс на подбор товара, но данных о работе старого портала для сравнения не было. Критерии оценки команда выстраивала сама — по рейтингу конкурентов и анализу данных клиента.
Цена собственных товаров зависит от валюты и курса (ЦБ или внутреннего), НДС, договорных скидок, тендерных цен и правила, по которому филиалы не конкурируют друг с другом. Для товаров поставщиков действует отдельная логика. И всё это — для сотен аналогов на нескольких складах за доли секунды.
Часть разработчиков заказчик нанимал с рынка под этот проект, и опыта коммерческой разработки у них не было. При этом за сроки и качество всей команды отвечал GROTEM.
Уже в разработке выяснилось, что доработать 1С нельзя, а данные заказчика не всегда соответствуют его же описанию. Добавились требования безопасности — админка за VPN и отдельная авторизация, — а кроссы, которые планировали заполнять вручную, пришлось мигрировать.
Скорость портала обеспечила не новая СУБД, а архитектура, проверенная нагрузкой на реальных данных клиента. Ниже — решения, на которых держатся скорость, надёжность и развитие системы.
Новый портал отвечает за 0,4 секунды — вдвое быстрее среднего показателя в сегменте Automotive, а база кроссов и прайсы поставщиков больше не требуют ручной работы. В ноябре 2023 года GROTEM передал клиенту готовое решение и сопровождал его на гарантии.
на подбор товара с аналогами, остатками, ценами и сроками доставки
выдержало ядро расчётов на самых тяжёлых сценариях проценки ещё на этапе тестов
записей кроссов в собственной системе с построчной проверкой и историей загрузок
прайс-листов от ~100 поставщиков загружаются автоматически с почты и FTP
Разберём задачу, предложим архитектуру решения и оценим сроки реализации — на первой консультации, бесплатно.