Skip to content

Обзор архитектуры ​

Системная архитектура ​

┌──────────────────────────────────────────────────────────────────┐
│                   Слой пользовательского интерфейса                │
│   Web UI (React)  ·  S3 Клиенты (rclone, AWS CLI)  ·  WebDAV    │
└──────────────┬──────────────────────┬────────────────┬───────────┘
               │                      │                │
        ┌──────▼──────┐       ┌──────▼──────┐  ┌─────▼──────┐
        │  REST API   │       │  S3 API     │  │  WebDAV    │
        │  :5212      │       │  :5213      │  │  :5214     │
        └──────┬──────┘       └──────┬──────┘  └─────┬──────┘
               │                      │                │
        ┌──────▼──────────────────────▼────────────────▼──────┐
        │                    Gin Router                        │
        │         Middleware: CORS → Auth → Rate Limit         │
        └──────────┬───────────────────────────────────────────┘
                   │
        ┌──────────▼───────────────────────────────────────────┐
        │                    Слой сервисов                      │
        │  Auth · Управление файлами · Управление пространствами│
        │  · Публикации                                          │
        └──────────┬───────────────────────────────────────────┘
                   │
        ┌──────────▼───────────────────────────────────────────┐
        │              Абстракция хранилища                     │
        │         Файловая система в памяти (Inode + Block)     │
        │  ┌──────────┐ ┌──────────┐ ┌──────────────────────┐  │
        │  │ RAM      │ │ VRAM    │ │ Swap/Персистентность │  │
        │  │ Драйвер  │ │ Драйвер │ │ Слой (опционально)   │  │
        │  └────┬─────┘ └────┬─────┘ └──────────────────────┘  │
        └───────┼─────────────┼─────────────────────────────────┘
                │             │
        ┌───────▼─────────────▼─────────────────────────────────┐
        │              Слой управления устройствами              │
        │  mmap / VirtualAlloc / CUDA / NVML                     │
        └───────────────────────────────────────────────────────┘

Карта портов ​

ПортСервисОписание
5212REST API + Web UIОсновной порт для HTTP API и фронтенда
5213S3 APIAWS S3-совместимый протокол
5214WebDAVПротокол WebDAV

Технологический стек ​

СлойТехнология
БэкендGo 1.22+, Gin, ent, golang.org/x/net/webdav
ФронтендReact 18, TypeScript, Ant Design 5, Zustand, Vite
База данныхSQLite / PostgreSQL (только метаданные)
RAMmmap (Linux/macOS) / VirtualAlloc (Windows)
VRAMCUDA + NVML (заглушка, готова к интеграции)

Apache License 2.0