Перейти до вмісту
Mihail Leybuk-Galin — головна

Knigoland

Книголенд

Високопродуктивна архітектура платформи електронної комерції, що обробляє понад 40 000 товарів, з безперебійною інтеграцією ERP/CRM.

Сайт проєкту (відкриється в новій вкладці)
Роль
Software Architect
Масштаб
40k+ SKUs
E-Commerce Storefront Inteface

E-Commerce Storefront Inteface

Збільшити зображення

Завдання

Knigoland потребувала потужної цифрової присутності, здатної відображати їхній величезний фізичний інвентар онлайн. Основним завданням було не просто створення вітрини магазину, а розробка стійкої системи, яка могла б синхронізувати понад 40 000+ товарних позицій майже в режимі реального часу з існуючими застарілими системами ERP та CRM без шкоди для продуктивності, орієнтованої на користувача.

  1. Інтеграція

    Складна двонаправлена ​​синхронізація зі старими системами, що забезпечує точність інвентаризації під час пікового навантаження.

  2. Продуктивність

    Час відгуку менше 200 мс, необхідний для пошуку товарів та перегляду категорій, незважаючи на великий набір базових даних.

Архітектура системи

Технічна схема

  • Go

    Основні API-сервіси. Обрані за високий рівень паралельності та низьку затримку під час обробки синхронних запитів.

  • PostgreSQL

    Основне сховище даних, що забезпечує відповідність ACID для транзакційних даних та складних зв'язків.

  • Redis

    Шар кешування в пам'яті значно зменшує навантаження на базу даних для каталогу та даних сеансу.

  • Kafka

    Платформа потокової передачі подій розв'язує інтеграційні сервіси та забезпечує асинхронні робочі процеси.

Архітектурні рішення

  1. Інтеграція на основі подій

    Замість прямого виклику API, Kafka була впроваджена для посередництва у змінах стану між ERP та веб-магазином. Це запобігло впливу простоїв ERP на взаємодію з користувачем та забезпечило надійні механізми повторних спроб.

  2. Агресивна стратегія кешування

    Враховуючи інтенсивний характер електронної комерції, пов'язаний з читанням, було реалізовано багаторівневу стратегію кешування з використанням Redis. Списки товарів та дерева категорій кешуються та анулюються за допомогою подій Kafka, що забезпечує пошук каталогу менше ніж за 50 мс.

Показники системи

Середня затримка
42мс
Безперебійний тарифний план (SLA)
99.9%