Разработка HighLoad микросервиса «Складские остатки» (Rust + Actix + PostgreSQL)
Описание задачи Необходимо разработать микросервис для управления складскими остатками высоконагруженной системы электронной коммерции.
Основная цель: Обеспечить строгий учет товаров и технически исключить возможность ухода остатков в минус, сохранив высокую производительность.
Мы ищем исполнителя или команду для долгосрочного сотрудничества. В случае успешной реализации этого проекта, планируется разработка ряда других микросервисов.
Стек технологий
Язык: Rust (предпочтительно).
Фреймворк: Actix.
БД: PostgreSQL.
Примечание: Мы готовы рассмотреть аргументированные предложения по другим высокопроизводительным стекам, но приоритет отдается Rust.
Суть работы микросервиса Микросервис должен хранить и отдавать 4 ключевых показателя по связке Склад/Товар:
Доступно (для заказа).
Зарезервировано (в оперативном резерве под клиента).
Продано (физически на складе, но оплачено).
В пути (отправлено в доставку).
Основные сценарии (Бизнес-логика) Подробное ТЗ будет предоставлено исполнителю. Основные операции включают:
Резервирование: Создание временного резерва (на 5 минут или 3 дня в зависимости от типа).
Покупка: Перевод из «Резерва» в «Продано» при успешной оплате.
Выдача/Доставка: Перевод статусов при физическом движении товара.
Синхронизация: Обновление настроек складов и товаров (флаги «разрешить продажу в минус» и т.д.).
Технические требования
Нагрузка: Система должна выдерживать пиковые нагрузки до 50 покупок/перемещений в секунду. Критически важна корректная работа с транзакциями и блокировками (concurrency control).
API: Полное описание REST API уже готово (около 10-12 эндпоинтов: получение остатков, создание/продление/удаление резерва, создание заказа и смена статусов).
База данных: Структура таблиц (SQL) уже спроектирована и будет предоставлена (таблицы остатков, резервов, заказов, истории изменений).
Документация: Обязательно наличие Swagger/OpenAPI документации к коду.
Что мы предоставляем Подробное описание бизнес-логики и сценариев работы.
Полное описание API (запросы/ответы).
SQL-схемы для создания таблиц.
Требования к результату Понятный, читаемый код в нашем репозитории.
Реализация всех методов API согласно спецификации.