
Розробка eCommerce-вебзастосунку: архітектура для зростання
Практичний підхід до доменної моделі, API, безпеки, спостережуваності та незалежних релізів commerce-системи.
Розробка eCommerce-вебзастосунку — це проєктування транзакційної системи: покупець знаходить товар, система розраховує ціну, обіцяє залишок, авторизує платіж і передає замовлення у виконання. Красивий інтерфейс не компенсує нечітких власників даних і непомітно зламаного order flow.
Спочатку домени, потім інфраструктура
До вибору сервісів і баз даних описують каталог, ціни, знижки, кошик, checkout, замовлення, клієнта та fulfillment. Для кожного домену визначають авторитетне джерело й сценарій недоступності. Так вітрина, ERP і commerce core не починають одночасно володіти тією самою ціною.
Модульний моноліт часто є найкращою початковою формою. Він зберігає прості транзакції та чіткі межі коду. Сервіс виділяють, коли функції справді потрібні незалежні масштабування, реліз, ізоляція або команда.
Контракти навколо комерційних фактів
API має описувати бізнес-поняття, а не таблиці бази. Відповідь checkout містить підсумок, валюту, податки, знижки, рішення щодо залишку й зрозумілі помилки. Контракти версіонують, а сумісність перевіряють у CI.
Для зовнішніх викликів потрібні timeout, обмежені повтори, idempotency і звіряння. Якщо ERP прийняла замовлення, але відповідь загубилася, система має знайти наявний запис, а не надіслати дублікат. Події також потребують схем, правил порядку, dead-letter queue і моніторингу.
Захист шляху покупки
Платіж і створення замовлення моделюють як state machine. Переходи та correlation ID дають підтримці змогу зрозуміти, чи замовлення очікується, оплачене, відхилене або потребує звіряння. Платіжні секрети й персональні дані в логах неприпустимі.
Захист охоплює least privilege, ротацію секретів, оновлення залежностей, rate limiting, аудит і перевірки прав у доменному шарі. Обмежень браузера недостатньо.
Швидкість і спостережуваність
Публічний каталог кешують з урахуванням допустимої давності. Для ціни й залишку вікно зазвичай коротше, ніж для опису. Вимірюють p95 і p99 окремо для пошуку, товару, кошика та checkout.
Логи, метрики й traces об’єднують correlation ID. Поряд із CPU та error rate контролюють відмови платежів, затримку експорту замовлень, відхилення залишків і помилки повернень.
Контрольний список релізу
- Перевірити ризиковану інтеграцію на реалістичних даних.
- Автоматизувати міграції, contract tests, ключові шляхи й rollback.
- Навантажувально випробувати кампанії, а не середній день.
- Підготувати звіряння та інструкції для підтримки.
- Випускати зміни частинами з вимірюваними критеріями.


