Развертывание¶
Целевой контур¶
Основной режим развертывания — Docker Compose из файла docker-compose.services.yml.
Топология портов¶
db:5433:5432auth_service:8001:8000user_service:8002:8000product_service:8003:8000order_service:8004:8000review_service:8005:8000admin_service:8006:8000chat_service:8007:8000analytics_service:8008:8000frontend:3000:80redis:6379:6379
Последовательность старта¶
- Поднимаются
dbиredis. - Поднимаются прикладные сервисы (часто с
sleep, затемmigrate, затемgunicorn). - Поднимается
telegram_bot_service. - Для async-пайплайна запускается
order_celery.
Deployment диаграмма¶
flowchart TB
subgraph dockerHost [DockerHost]
db["postgres:15"]
redis["redis:7-alpine"]
authSvc["auth_service"]
userSvc["user_service"]
productSvc["product_service"]
orderSvc["order_service"]
reviewSvc["review_service"]
adminSvc["admin_service"]
chatSvc["chat_service"]
analyticsSvc["analytics_service"]
frontendSvc["frontend"]
botSvc["telegram_bot_service"]
celerySvc["order_celery"]
end
authSvc --> db
userSvc --> db
productSvc --> db
orderSvc --> db
reviewSvc --> db
adminSvc --> db
chatSvc --> db
celerySvc --> db
orderSvc --> redis
celerySvc --> redis
botSvc --> orderSvc
botSvc --> productSvc
Конфигурационные требования¶
- Все сервисы должны получать согласованные
DATABASE_URL,SECRET_KEY,REDIS_URL. - Для межсервисных импортов критичен корректный
PYTHONPATH. - Для
telegram_bot_serviceобязательныTELEGRAM_BOT_TOKEN,ORDER_SERVICE_URL,PRODUCT_SERVICE_URL.