Для тысячи товаров начните с модульного backend и реляционной БД: каталог, цены, остатки, корзина и заказы. Микросервисы не нужны только из-за частых обновлений.
Как бы вы спроектировали онлайн-систему магазина примерно с тысячей товаров и частыми обновлениями наличия и цен? Какие компоненты выделили бы?
Для тысячи товаров начните с модульного backend и реляционной БД: каталог, цены, остатки, корзина и заказы. Микросервисы не нужны только из-за частых обновлений.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для тысячи товаров начните с модульного backend и реляционной БД: каталог, цены, остатки, корзина и заказы. Микросервисы не нужны только из-за частых обновлений.
Цены и наличие имеют источник истины в БД; кеш каталога допускает короткую задержку, но при оформлении цена проверяется, а остаток резервируется атомарно. Заказ сохраняет snapshot условий покупки. Для импорта цен, уведомлений и тяжёлых операций можно добавить очередь и outbox. Изображения размещают в объектном storage/CDN. Нужны идемпотентность создания заказа, срок резерва и обработка неопределённого результата оплаты. Поиск и отдельные сервисы вводят после появления измеренной потребности, сохраняя простую эксплуатацию.