Перейти к содержанию

Развертывание

Целевой контур

Основной режим развертывания — Docker Compose из файла docker-compose.services.yml.

Топология портов

  • db: 5433:5432
  • auth_service: 8001:8000
  • user_service: 8002:8000
  • product_service: 8003:8000
  • order_service: 8004:8000
  • review_service: 8005:8000
  • admin_service: 8006:8000
  • chat_service: 8007:8000
  • analytics_service: 8008:8000
  • frontend: 3000:80
  • redis: 6379:6379

Последовательность старта

  1. Поднимаются db и redis.
  2. Поднимаются прикладные сервисы (часто с sleep, затем migrate, затем gunicorn).
  3. Поднимается telegram_bot_service.
  4. Для 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.