Appearance
Unishift Platform — Документация сервисов
Обзор архитектуры
Unishift Platform — микросервисная платформа для управления пространствами, документами, командами, пайплайнами, календарями, медиафайлами и аутентификацией пользователей. Построена на Go с использованием PostgreSQL, NATS и Centrifugo для real-time событий.
Карта сервисов
| Сервис | Порт | БД | Описание |
|---|---|---|---|
| Gateway | 8090 | — | Единая точка входа, проксирование к бэкенд-сервисам |
| Auth | 8091 | auth_db | Аутентификация и авторизация (JWT, OAuth 2.0, сессии) |
| Spaces | 8092 | spaces_db | Управление пространствами (workspaces) |
| Documents | 8093 | documents_db | Управление документами (деревевидная структура) |
| Command Manager | 8094 | command_manager_db | Команды, коллекции, задачи, gRPC-раннеры |
| Scheduler | 8095 | scheduler_db | Календари и планирование задач |
| Storage | 8096 | storage_db | Файловое хранилище (локальный диск / S3/MinIO) |
| Env Manager | 8097 | env_manager_db | Зашифрованное хранилище конфигов и секретов |
| Flow Manager | 8099 | flow_manager_db | Оркестрация пайплайнов (Starlark, in-memory тестирование) |
| Spark Grid | 8087 | spark_grid | Медиа-хранилище (превью, обложки, теги) |
| AI Router | 8101 | ai_router_db | Маршрутизация LLM-запросов, чаты, RAG (pgvector) |
| Centrifugo | 8100 | — | Real-time WebSocket доставка событий |
| NATS Bridge | — | — | Мост NATS → Centrifugo (событийный bridge) |
Инфраструктура
| Компонент | Порт | Описание |
|---|---|---|
| NATS | 4222 | Шина событий (message broker) |
| PostgreSQL | 5432 | Основная БД для всех сервисов (с расширением pgvector) |
| MinIO | 9000/9001 | S3-совместимое хранилище |
Технологический стек
- Язык: Go 1.24-1.26
- HTTP: Gin
- ORM: GORM
- БД: PostgreSQL 15-16
- Мессенджинг: NATS
- Real-time: Centrifugo + WebSocket
- API Docs: Swagger/OpenAPI (swaggo)
- Архитектура: Clean Architecture (domain / usecase / repository / delivery / infrastructure)
- Контейнеризация: Docker + Docker Compose