architect/_archive/2025-11-26-cleanup/system-docs/architecture/8-spatial.md

Пространственное измерение

Версия: 1.0.0
Дата: 2025-11-19


Что описывает это измерение

Вопрос: Где физически находятся компоненты?

Ответ:
- Локальное vs удалённое
- Распределение по серверам
- Облачные хранилища
- Синхронизация между локациями

НЕ описывает:
- Логическую структуру (структурное)
- Что делают компоненты (функциональное)
- Как синхронизируются (процессное)


Уровни размещения

1. Локальный workspace

Расположение:

/opt/claude-workspace/

Назначение:
- Основная работа
- Разработка
- Тестирование
- Документация

Доступ:
- Прямой (файловая система)
- Быстрый
- Полный контроль


2. Удалённые VPS серверы

@infra-dev-pro (Hetzner EU)

IP: 91.218.142.168
Location: Europe
Provider: Hetzner
Type: VPS

Проекты:
- marketplace (port 8503)
- pim-drupal (http://pim.dev.0kt.ru)

Доступ:

ssh root@91.218.142.168

@infra-dev-prod-rf (Hetzner RU)

Location: Russia
Provider: Hetzner
Type: VPS

Назначение:
- Production приложения для РФ
- Соответствие законодательству


3. Shared Hosting

@remote-beget-kondurov

Host: kondurov.beget.tech
Provider: Beget
Type: Shared hosting

Проекты:
- pirotehnika-opencart

Доступ:

ssh kondurov@kondurov.beget.tech

Ограничения:
- Нет root доступа
- Предустановленное ПО
- Лимиты ресурсов


4. Облачные хранилища

infra-yandex-disk

Provider: Yandex
Type: Cloud storage

Использование:
- Бэкапы
- Синхронизация
- Большие файлы

Доступ:

rclone sync local/ yandex:remote/

s3-nomenclature

Provider: Beget
Type: S3-compatible storage

Использование:
- Номенклатурные данные
- CSV файлы
- Изображения

Доступ:

import boto3

s3 = boto3.client('s3', endpoint_url='...')
s3.upload_file('local.csv', 'bucket', 'remote.csv')

Типы размещения

VPS (Virtual Private Server)

Характеристики:
- ✅ Полный root доступ
- ✅ Установка любого ПО
- ✅ Настройка окружения
- ✅ Производительность

Использование:
- Production приложения
- Development серверы
- Базы данных
- Web сервисы

Примеры:
- @infra-dev-pro
- @infra-dev-prod-rf


Shared Hosting

Характеристики:
- ⚠️ Ограниченный доступ (SSH only)
- ⚠️ Предустановленное ПО
- ⚠️ Лимиты (CPU, RAM, Disk)
- ✅ Дешевле VPS
- ✅ Простое управление

Использование:
- Простые сайты
- CMS (Drupal, WordPress, OpenCart)
- Статические сайты

Примеры:
- @remote-beget-kondurov


Cloud Storage

Характеристики:
- ✅ Неограниченное хранилище
- ✅ Репликация
- ✅ API доступ
- ⚠️ Стоимость зависит от объёма

Использование:
- Бэкапы
- Большие файлы
- Статические ресурсы
- Архивы

Примеры:
- infra-yandex-disk
- s3-nomenclature


Распределение компонентов

System агенты

Где: Локальный workspace

/opt/claude-workspace/system/
├── orchestrator.ai.md
├── claude-code.ai.md
├── terminal.ai.md
└── integrator.ai.md

Почему:
- Быстрый доступ
- Частые изменения
- Не требует сети


Platform v1

Где: Локальный workspace + Git

/opt/claude-workspace/platform/

Синхронизация:

git push origin main  # → GitHub/GitLab

Почему:
- Центральное управление
- Версионирование
- Доступ из любого места


Проекты

Где: Зависит от проекта

marketplace:

Разработка: /opt/claude-workspace/projects/marketplace/
Production: @infra-dev-pro:/opt/workspace/projects/marketplace/

pim-drupal:

Разработка: /opt/claude-workspace/projects/pim-drupal/
Production: @infra-dev-pro:/var/www/pim/

pirotehnika-opencart:

Production: @remote-beget-kondurov:/home/k/kondurov/pirotehnika/

Данные

Локальные БД:

projects/marketplace/solution/code/database.db  # SQLite

Удалённые БД:

@infra-dev-pro: PostgreSQL/MySQL

Облачное хранилище:

s3-nomenclature: CSV файлы, изображения
yandex-disk: Бэкапы

Синхронизация

Локальный ↔ Git

Push (локальный → git):

git add .
git commit -m "update"
git push origin main

Pull (git → локальный):

git pull origin main

Локальный ↔ Сервер

SCP (разовая копия):

scp file.txt user@server:/path/

Rsync (синхронизация):

rsync -avz local/ user@server:remote/

Git-based deploy:

# На сервере
cd /opt/workspace/projects/marketplace/
git pull origin main
systemctl restart marketplace

Сервер ↔ Облако

Бэкапы на Яндекс.Диск:

# На сервере
rclone sync /opt/backups/ yandex:backups/

S3 sync:

aws s3 sync local/ s3://bucket/path/

Латентность и доступность

Локальный workspace

Латентность: ~0ms
Доступность: 100% (при наличии машины)
Пропускная способность: Максимальная


VPS (@infra-dev-pro, EU)

Латентность: 50-100ms (из РФ)
Доступность: 99.9% (SLA Hetzner)
Пропускная способность: 1 Gbps


Shared Hosting (@remote-beget)

Латентность: 10-50ms (из РФ)
Доступность: 99.5% (SLA Beget)
Пропускная способность: Shared


Cloud Storage (Яндекс.Диск)

Латентность: 100-500ms
Доступность: 99.9%
Пропускная способность: Зависит от тарифа


Топология

Звезда (текущая)

        Локальный workspace
                 
    ┌─────────┼──────────┐
                       
@infra-dev-pro  @remote-beget  Yandex.Disk

Преимущества:
- Простота
- Централизованное управление

Недостатки:
- Единая точка отказа (workspace)


Распределённая (будущее)

         Git (центральный)
              ↓   ↑
    ┌─────────┼──────────┐
    ↓         ↓          ↓
Workspace-1  Workspace-2  CI/CD
    ↓         ↓          ↓
Server-1   Server-2   Server-3

Преимущества:
- Отказоустойчивость
- Параллельная работа


Геораспределение

Текущее состояние

Europe:
- @infra-dev-pro (Hetzner)

Russia:
- @infra-dev-prod-rf (Hetzner)
- @remote-beget-kondurov (Beget)
- infra-yandex-disk


Будущее

Multi-region:
- EU: @infra-eu
- RU: @infra-ru
- US: @infra-us (опц)

Репликация:
- Primary-Secondary
- Master-Master (опц)


Следующие шаги

Назад: 7-temporal.md — временное измерение

Следующее: ../specifications/ — технические спецификации