EDTL-интеграция для eLADY
eLADY eDTL: CSV/Sheets → таксономия партнёра за 3s циклы. Go-ядро обрабатывает десятки тысяч строк, дедуплицирует и ускоряет конвертацию на ~60%.
О компании eLADY
eLADY — №1 онлайн-ретейлер pre-owned люксовых товаров в Японии с 1999 года. Компания, базирующаяся в Токио, является членом International Anti-Counterfeiting Coalition и внедряет корпоративные антифальсификационные решения, помогая искоренять распространение контрафакта в интернете.
Направления и сервисы:
- eLADY GLOBAZONE — подлинные pre-owned luxury товары: тысячи сумок, часов и аксессуаров ведущих брендов по выгодным ценам и с высоким контролем качества.
- UKEROO — подлинные автозапчасти. В коллаборации с Ecoline (100% компания Toyota) — крупнейший eBay-магазин, продающий оригинальные и восстановленные детали для всех японских моделей.
- LISUTO! — «List Once, Sell Everywhere»: платформа для создания маркетплейс-листингов на любых языках, публикуйте один раз — продавайте везде.
Задача интеграции
Подключить поставки данных в CSV и Google Sheets, привести их к целевой таксономии партнёра, устранить дубли и загрузить результат в нужный формат/систему — без ручных правок и с минимальной задержкой.
Что такое eDTL (Extract → Deduplicate → Transform → Load)
- Extract — приём данных из CSV/Google Sheets/SFTP/HTTP/облаков, потоковое чтение крупных наборов.
- Deduplicate — удаление жёстких и «мягких» дублей (по SKU/EAN/Brand+Model, близости названий и пр.), фиксируем причины отбраковки.
- Transform — нормализация полей, конвертация таксономий источник → партнёр, паттерн-матчинг, расчётные атрибуты.
- Load — выгрузка в целевую схему (CSV/NDJSON/API), статусы, отчёты, вебхуки.
Вставка D (Deduplicate) делает конвейер устойчивым к «грязным» данным и обеспечивает детерминированность результата при слиянии разных источников.
Источники: CSV и Google Sheets
- CSV: поддержка разных разделителей/кодировок, потоковый парсинг без загрузки файла целиком в память.
- Google Sheets: чтение по API с регулярным опросом, снапшоты версий, дифф изменений по строкам/столбцам.
Автообновление каждые 3 секунды
Для критически важных листингов внедрён режим псевдо-реального времени:
- Поллинг 3s: планировщик запускает микропроход каждые 3 секунды, подтягивая инкрементальные изменения из Google Sheets/CSV-эндпоинтов.
- Инкрементальная обработка: только дельта — быстрее конвертация, меньше I/O.
- Защита от перегрузки: джиттер, троттлинг, экспоненциальный бэкофф при ошибках, idempotency-ключи для безопасных повторов.
- Гарантии последовательности: очередь событий, порядковая фиксация снапшотов, «at-least-once» с дедупликацией на приёмнике.
От Fastify к Go: +≈60% скорости на конвертации/маппинге/паттерн-матчинге
Изначально сервис был реализован на Fastify (Node.js) — быстрый старт и гибкость экосистемы. По мере роста объёмов мы полностью переписали вычислительное ядро на Go, что дало ощутимый прирост производительности:
- Потоковый парсинг (bufio + csv.Reader), конвейерная обработка с worker-pool.
- Компиляция и кэширование правил таксономий/регекспов, LRU/TTL-кэши горячих соответствий.
- Предсказуемое потребление памяти и стабильный GC под нагрузкой.
Результат: ускорение этапов «конвертация таксономии → маппинг → паттерн-матчинг» примерно на 60% по нашим референсным наборам.
Пропускная способность
Ядро на Go уверенно принимает и обрабатывает десятки тысяч строк за итерацию, сохраняя низкую латентность на шаге трансформации. Это достигается за счёт:
- параллельной нормализации и сопоставления полей;
- батч-пакетов с контролируемым размером;
- «мягких» очередей с приоритетами (горячие/холодные источники).
Управление таксономиями и качеством
- Маппинг таксономий: каскад «категория → подкатегория → атрибуты», синонимы, исключения, fallback-классификация.
- Паттерн-матчер: регулярные выражения, префиксы/суффиксы, парсинг составных полей.
- Отбраковка: отсутствие фото, ≥3 незаполненных критичных полей, аномалии цен/размеров, «мягкие» дубли.
- Отчётность: причины отбраковки, доля «красных» карточек, дифф «до/после».
Наблюдаемость и надёжность
- Снапшоты и аудит-трейл: версия входа/выхода, трассировка по строке.
- Алертинг и метрики: скорость парсинга, время на этапах, процент дублей/ошибок.
- Откат и ретраи: DLQ для проблемных партий, безопасные повторы с идемпотентностью.
Что получает бизнес eLADY
- Публикация данных почти в реальном времени благодаря автообновлению каждые 3 секунды.
- Чистый и согласованный каталог: предсказуемая конверсия таксономий, меньше дублей и «мусора».
- Высокая производительность: Go-ядро обрабатывает десятки тысяч строк без деградации UX партнёров.
- Прозрачность процессов: отчёты, причины отбраковки, управляемые откаты.
Итог
Мы создали для eLADY eDTL-конвейер, который стабильно «переваривает» CSV и Google Sheets, обновляется каждые 3 секунды, конвертирует таксономии, удаляет дубликаты и отдаёт чистый результат партнёрам. Переезд вычислительного ядра на Go обеспечил значительный прирост скорости и устойчивости — фундамент для масштабирования поставок и каналов продаж.
Использованные технологии
Достигнутые результаты
+60% скорости
Простота интеграции с новыми партнерами
Экономия 300$/месяц
Хотите создать похожий проект?
Расскажите о вашей идее, и мы поможем её реализовать