Что за сервис

Анонимизированный микросервис обработки товарных позиций. Получает OrderItemMessage из RabbitMQ, отправляет характеристики во внешний marketplace-api для нормализации, сохраняет результат в PostgreSQL, публикует событие для сервиса подбора аналогов (matcher-service).

Python 3.13 FastAPI + FastStream Dishka DI SQLAlchemy 2.x async asyncpg + PgBouncer RabbitMQ

Архитектура — Hexagonal (Ports & Adapters). Domain layer формально пустой — сервис-оркестратор без rich model.

Разборы

Полный разбор с построчными комментариями будет во второй волне курса. Сейчас ключевые фрагменты вплетены в главы 02 и 03.