Infrastructure
Базы данных (Database per Service)
| Сервис | БД | Redis | S3 | Ключевые таблицы |
|---|
| Auth | auth_db | Сессии, OTP, refresh tokens | — | sessions, otp_codes |
| User | user_db | — | — | users, roles, legal_entities, customers, customer_groups |
| Store | store_db | Кэш ТТ, геоданные | Фото ТТ | stores, schedules, delivery_zones, photos, load_thresholds |
| Catalog | catalog_db | Кэш каталога/цен | Фото товаров | products, categories, modifiers, price_lists, stop_lists, upsell_rules |
| Warehouse | warehouse_db | — | — | ingredients, tech_cards, stock_balances, warehouse_documents |
BFF-сервисы
| BFF | Порт | Клиент | Стек |
|---|
| Admin BFF | :3020 | Бэк-офис (React SPA) | Node.js, Fastify, TypeScript |
| Customer BFF | :3021 | Web-сайт + Мобильное приложение | Node.js, Fastify, TypeScript |
| POS BFF | :3022 | POS-касса | Node.js, Fastify, TypeScript |
BFF-сервисы не имеют своих баз данных — они только агрегируют ответы микросервисов.
Docker Compose (Development)
# Микросервисы: auth, user, store, catalog, warehouse
# BFF: admin-bff, customer-bff, pos-bff
# Инфра: PostgreSQL, Redis, Kafka, MinIO
Каждый сервис:
- Свой Dockerfile (multi-stage: build + runtime)
- Spring Boot DevTools для hot-reload в dev
- Своя БД в PostgreSQL
- Liquibase-миграции при старте
Kubernetes (Staging / Production)
| Сервис | Replicas (prod) |
|---|
| Auth | x2 |
| User | x2 |
| Store | x2 |
| Catalog | x3 |
| Warehouse | x2 |
| Admin BFF | x2 |
| Customer BFF | x2 |
| POS BFF | x2 |
Ссылки