Skip to content

Art of Coin Architecture

Backend Микросервисы

Проект “Digital Reserve: Art of Coin” использует микросервисную архитектуру для обеспечения масштабируемости, надежности и гибкости системы. Ниже представлен список основных бэкенд-сервисов/микросервисов, их описание и взаимодействие.

Аутентификация и Авторизация

Описание:

Отвечает за управление аутентификацией пользователей, выдачу токенов доступа и контроль прав доступа к различным сервисам.

Функции:

  • Регистрация пользователей
  • Вход и выход из системы
  • Выдача и обновление JWT-токенов
  • Управление ролями и разрешениями
  • Интеграция с Hyperledger Indy для децентрализованной идентификации

Технологии:

  • Язык: Go
  • База данных: PostgreSQL
  • Протоколы: REST API, gRPC
  • Безопасность: OAuth 2.0, TLS/SSL

Управление Пользователями

Описание:

Сервис для хранения и управления данными пользователей, их профилями, настройками и предпочтениями.

Функции:

  • Хранение профилей пользователей
  • Управление настройками аккаунта
  • Сохранение прогресса и достижений
  • Синхронизация данных между устройствами

Технологии:

  • Язык: Go
  • База данных: PostgreSQL
  • Протоколы: gRPC
  • Безопасность: RBAC (Role-Based Access Control)

Игровой Сервер

Описание:

Основной сервис, обрабатывающий игровую логику, состояние игры и взаимодействие между игроками.

Функции:

  • Управление игровыми сессиями
  • Обработка действий игроков
  • Синхронизация состояния игры
  • Поддержка многопользовательского режима

Технологии:

  • Язык: Go
  • Протоколы: WebSockets, gRPC
  • Базы данных: Redis (кэширование), PostgreSQL
  • Масштабирование: Kubernetes

Экономический Симулятор

Описание:

Сервис, отвечающий за моделирование экономических процессов, управление валютами и пулом ликвидности.

Функции:

  • Симуляция выпуска и конвертации валют
  • Управление экономическими показателями
  • Расчет транзакций и балансов
  • Интеграция с сервисом ИИ для прогнозирования
  • Учет кроссчейн транзакций
  • Учет собственности игроков

Технологии:

  • Язык: Python
  • База данных: PostgreSQL
  • Протоколы: gRPC
  • Интеграция: Сервис ИИ, Блокчейн Интеграция

Сервис Искусственного Интеллекта

Описание:

Обрабатывает модели ИИ для экономического, дипломатического и социального поведения в игре.

Функции:

  • Предоставление прогнозов и рекомендаций
  • Моделирование поведения NPC и других стран
  • Анализ действий игроков и их последствий

Технологии:

  • Язык: Python (PyTorch)
  • База данных: Qdrant
  • Протоколы: gRPC
  • Модели: Машинное обучение, глубокое обучение

Блокчейн Интеграция

Описание:

Отвечает за взаимодействие с блокчейн-платформами для управления цифровыми активами и транзакциями.

Функции:

  • Взаимодействие с Hyperledger Fabric и Besu
  • Выполнение смарт-контрактов
  • Управление цифровыми валютами и активами
  • Реестр собственности с использованием NFT
  • Децентрализованная идентификация через Hyperledger Indy
  • Кроссчейн переводы с использованием SATP

Технологии:

  • Язык: Go, Solidity
  • Протоколы: gRPC, блокчейн-протоколы
  • Интеграция: Экономический Симулятор, Аутентификация

Сервис Сообщений в Реальном Времени

Описание:

Обеспечивает коммуникацию в реальном времени между клиентами и сервером, необходимую для обновлений и взаимодействия.

Функции:

  • Управление WebSocket-соединениями
  • Обработка событий в реальном времени
  • Рассылка уведомлений игрокам

Технологии:

  • Язык: Go
  • Протоколы: WebSockets
  • Масштабирование: Redis Pub/Sub

API Gateway

Описание:

Единая точка входа для всех клиентских запросов, распределяет их между микросервисами.

Функции:

  • Маршрутизация запросов
  • Аутентификация и авторизация на уровне шлюза
  • Лимитирование запросов
  • SSL-терминация

Технологии:

  • Язык: Go или готовые решения (Kong, NGINX)
  • Протоколы: HTTP/HTTPS, gRPC
  • Безопасность: TLS/SSL, JWT

Сервис Логирования и Мониторинга

Описание:

Собирает и анализирует логи и метрики системы для обеспечения стабильной работы.

Функции:

  • Сбор логов от микросервисов
  • Мониторинг производительности
  • Настройка алертинга
  • Визуализация данных

Технологии:

  • Стек: ELK (Elasticsearch, Logstash, Kibana)
  • Мониторинг: Prometheus, Grafana
  • Интеграция: Все микросервисы

Сервис Управления Кибербезопасностью

Описание:

Отвечает за обнаружение и предотвращение кибератак, безопасность данных и инфраструктуры.

Функции:

  • Мониторинг безопасности
  • Обнаружение аномалий
  • Реагирование на инциденты
  • Управление событиями безопасности в игре

Технологии:

  • Язык: Python, Go
  • Инструменты: Snort, Fail2Ban
  • Интеграция: Логирование и Мониторинг, Игровой Сервер

Административный Сервис

Описание:

Предоставляет административные функции для управления системой, контентом и пользователями.

Функции:

  • Управление пользователями и правами
  • Настройка игровых параметров
  • Модерация контента
  • Доступ к аналитике

Технологии:

  • Язык: Go
  • Фронтенд: React
  • Протоколы: REST API, gRPC
  • Безопасность: Двухфакторная аутентификация

Сервис Управления Контентом

Описание:

Отвечает за хранение и доставку статического и динамического контента в игру.

Функции:

  • Хранение игровых ресурсов
  • Обновление контента без обновления клиента
  • Кэширование и доставка контента

Технологии:

  • Хранилище: AWS S3, Google Cloud Storage
  • CDN: Для доставки контента
  • Интеграция: Игровой Клиент, Административный Сервис

Сервис Аналитики и Отчетности

Описание:

Собирает данные об использовании приложения, взаимодействии игроков и производит аналитические отчеты.

Функции:

  • Сбор статистики игрового процесса
  • Анализ поведения пользователей
  • Генерация отчетов
  • Предоставление данных для ИИ

Технологии:

  • Язык: Python, Go
  • База данных: BigQuery, ClickHouse
  • Визуализация: Grafana, Tableau
  • Интеграция: Все микросервисы

Схема Взаимодействия Микросервисов

graph LR
    subgraph Клиент
        A[Game Client Unity3D]
    end

    subgraph Сервер
        B[API Gateway]
        C[Аутентификация]
        D[Управление Пользователями]
        E[Игровой Сервер]
        F[Экономический Симулятор]
        G[Сервис ИИ]
        H[Блокчейн Интеграция]
        I[Сервис Сообщений]
        J[Кибербезопасность]
        K[Административный Сервис]
        L[Сервис Аналитики]
        M[Сервис Контента]
    end

    subgraph Инфраструктура
        N[(PostgreSQL)]
        O[(Qdrant)]
        P[(Redis)]
        Q[(Hyperledger)]
        R[(ELK Stack)]
        S[(Prometheus & Grafana)]
    end

    A -->|HTTP/HTTPS| B
    B --> C
    B --> E
    B --> K
    C --> N
    D --> N
    E --> P
    E --> F
    E --> I
    E --> J
    F --> G
    F --> H
    G --> O
    H --> Q
    I --> P
    J --> R
    K --> N
    L --> S
    L --> R
    M --> A
    E --> L
    F --> L
    G --> L
    J --> L
    B --> M

Примечания

  • Масштабируемость: Использование Kubernetes для автоматического масштабирования микросервисов.
  • Безопасность: Регулярные аудиты и обновления.
  • CI/CD: Настроен непрерывный цикл интеграции и развертывания.
  • Логирование и Мониторинг: Быстрое реагирование на проблемы.
  • Интеграция: Четкие интерфейсы облегчают разработку и тестирование.