Маркетплейс 500K SKU: Elasticsearch, очереди, мультивендор
Replatforming маркетплейса: поиск быстрее 300 мс, 500K SKU, кабинеты продавцов и split-оплата.
Elasticsearch, NestJS, Next.js, RabbitMQ, React
Клиент — маркетплейс DIY-товаров (мультивендор, 500K SKU, 800 продавцов). Монолит на Bitrix уперся в потолок: поиск > 3 сек, индексация каталога — ночной batch 8 часов, падения в распродажи. Нужна replatforming без остановки продаж.
Задача: новый backend + frontend — Elasticsearch, асинхронная индексация, личные кабинеты продавцов, комиссии, split payments. SLA поиска < 300 ms, uptime 99.9%.
- catalog service: PostgreSQL master, ES cluster (3 node), incremental sync через RabbitMQ;
- search: facets, autocomplete, synonym dictionary, boost rules;
- vendor cabinet: импорт CSV/API, модерация карточек, остатки, заказы, выплаты;
- order orchestration: saga pattern — резерв → оплата → split → fulfillment;
- checkout: ЮKassa split, промокоды, доставка (CDEK API);
- admin: antifraud rules, commission engine, dispute workflow;
- k6 load test: 2K RPS search, Black Friday simulation.
Стек: React, Next.js, Node.js/NestJS, PostgreSQL, Elasticsearch, RabbitMQ, Redis, Docker, K8s. Приёмка: search p95 < 250 ms, 0 потерянных заказов в migration weekend.
Итог: GMV +45% за год; cart abandonment −22%. NDA: маркетплейс не публикуется.