# Глоссарий

### А

#### Активный пользователь

* **Ежедневные активные пользователи (DAU)**: метрика, измеряющая количество уникальных пользователей, взаимодействующих с Edgegap в течение одного дня.
* **Ежемесячные активные пользователи (MAU)**: метрика, измеряющая количество уникальных пользователей, взаимодействующих с Edgegap в течение одного месяца.

#### Приложение

Приложение служит основным блоком для развёртываний. Несмотря на минимальный набор опций, оно выступает контейнером, где можно создавать и управлять версиями. Большая часть конфигураций и настроек не связана напрямую с приложением, а определяется в его версиях.

#### Версия приложения

Версия приложения функционирует как шаблон для ваших развёртываний, определяя их поведение и характеристики. Она предоставляет высокую гибкость, позволяя задавать различные настройки и конфигурации. Любые изменения в версии автоматически отражаются в развёртываниях, использующих эту версию.

#### API-шлюз

Сервер, выступающий фронтендом API: получает запросы API, применяет политики ограничения и безопасности, передаёт запросы в бэкенд-сервис и возвращает ответ запросившему.

### Б

#### Сервер bare-metal

Тип сервера, предоставляющий выделенные и неразделяемые физические ресурсы, включая CPU, RAM и хранилище, одному арендатору.

### В

#### Клиент

Программное приложение или устройство, запрашивающее сервисы или ресурсы у сервера. В клиент-серверной архитектуре клиент инициирует связь. Относится к [Хост](#host).

#### Агент клиента

Программная программа, выступающая посредником между игровым клиентом и инфраструктурой edge-вычислений. Отвечает за сбор данных с клиента и передачу их на edge-сервер для обработки. Цель агента клиента — улучшить производительность игрового процесса за счёт перераспределения части вычислительной нагрузки с устройства клиента на edge-сервер. Это обеспечивает более быстрые отклики и более погружающий игровой опыт для конечного пользователя.

#### Кластер

Группа взаимосвязанных серверов, работающих совместно как единая система для обеспечения высокой доступности, балансировки нагрузки и/или параллельной обработки.

#### Центр колокации

Дата-центр, предоставляющий физическое место для игровых компаний для размещения их игровой инфраструктуры, такой как серверы и сетевое оборудование, близко к конечным пользователям для обеспечения низкой задержки и высокой производительности. Этот тип дата-центра позволяет эффективно управлять инфраструктурой и обеспечивать оптимальный пользовательский опыт для игроков.

#### Контейнеризация

Лёгкая форма виртуализации, помогающая изолировать приложения друг от друга и улучшать их развёртывание и поддержку.

#### Контейнеры

Технология, используемая в edge-вычислениях для игр, позволяющая эффективно и изолированно развёртывать игровые приложения и сервисы. Они обеспечивают стандартизированное и лёгкое решение для развёртывания и масштабирования игровых приложений, а также гарантируют совместимость и единообразие их среды выполнения. Это помогает сократить время простоя и улучшить производительность для игроков, в конечном счёте повышая качество игрового опыта.

### Г

#### Развёртывание

Развёртывание — это рабочий экземпляр конкретной версии вашего приложения, инкапсулированный в активном контейнере. После предоставления списка IP-адресов или местоположения вы получаете URL для подключения ваших игроков или пользователей. Развёртывания предназначены быть временными; они завершаются по запросу, когда больше не нужны. Эта модель особенно эффективна для жанров с ограниченным временем сессии, таких как FPS, файтинги и MOBA, где состав игроков остаётся постоянным в течение жизненного цикла сервера. Для более динамичного взаимодействия игроков, например в MMO, рекомендуется другой подход, например сессии. Для каждого развёртывания собирается телеметрия в реальном времени для оптимизации местоположения и улучшения пользовательского опыта.

#### Распределённый менеджер реле

Распределённый менеджер реле — специализированный сервис в распределённой облачной сети Edgegap, предназначенный для оптимизации выбора реле для игроков. Используя запатентованную технологию принятия решений на основе телеметрии в реальном времени от Edgegap, он обеспечивает подключение игроков к наиболее подходящему реле среди сотен доступных локаций. Сервис упрощает сложную задачу реализации и управления реле, позволяя легче интегрировать их в игры или приложения без необходимости глубоких технических знаний.

#### Docker

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

#### Выделенный сервер

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

### Д

#### Edge-вычисления

Распределённая парадигма вычислений, которая приближает вычисления и хранение данных к месту их использования, чтобы улучшить время отклика и сэкономить пропускную способность.

#### Исходящий трафик (Egress)

«акт выхода», «право выхода» или «средство выхода».

#### Эластичные облачные вычисления

ECC — технология, позволяющая игровым компаниям масштабировать ресурсы инфраструктуры по требованию, обеспечивая высокий уровень производительности и безопасности. ECC предоставляет комплексную платформу для разработчиков игр, предлагая централизованное хранилище и вычислительные сервисы, обработку данных в реальном времени и динамическое распределение ресурсов для высокопроизводительных игровых приложений.

#### Конечная точка

Конкретный URL, по которому доступен веб-сервис или API. Конечные точки являются точками взаимодействия между различными программными сущностями.

#### Хранилище конечной точки

Решение для хранения, использующее Amazon S3 (Simple Storage Service) как удалённое хранилище для данных. Часто используется для резервного копирования, архивирования или обмена данными.

#### Переменные окружения

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

### Ф

#### Флот

Флот — инструмент управления, предназначенный для автоматизации создания сессионных развёртываний. Он работает на основе настраиваемых параметров для обеспечения оптимальной загрузки серверов. Флоты также могут автоматически завершать развёртывания на основе более сложных конфигураций.

#### Функции флота

1. Автоматически создаёт новые развёртывания, когда существующие достигают заданного порога загрузки.
2. Обеспечивает минимальное число готовых к использованию развёртываний.
3. Позволяет задать максимальный предел одновременных развёртываний.
4. Работает в рамках конкретного региона для контроля распределения серверов.

#### Управление флотом

Управляйте большим количеством серверов в реальном времени для многопользовательских игр. Помогает техническому продакт-менеджеру контролировать ресурсы этих серверов, обеспечивая оптимальную производительность и минимизируя время простоя.

### Х

#### Хост

Компьютер или сервер, предоставляющий ресурсы, сервисы или данные другим компьютерам (клиентам) по сети. Относится к [Клиент](#client).

#### Хостинг-реле

Платформа для размещения игровых серверов ближе к конечным пользователям. Это улучшает скорость и надёжность игрового процесса за счёт сокращения задержки и снижения нагрузки на центральные серверы.

### И

#### Входящий трафик (Ingress)

«акт входа», «право входа» или «средство входа».

### Й

#### Джиттер

Вариативность задержки передачи данных. Подразумевает колебания задержки пакетов, передаваемых по сети, и влияет на работу реального времени в играх. Джиттер может ухудшать плавность игрового процесса и вызывать лаги, задержки и другие нарушения.

### К

#### Kubernetes

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

### Л

#### Задержка (Latency)

Время, необходимое для передачи данных от устройства до сервера и обратно.

#### Лог (журнал контейнера)

Запись событий и транзакций, происходящих внутри контейнера. Эти логи важны для отладки и мониторинга производительности контейнеризированных приложений.

### Н

#### Сетевой код (Netcode)

Критически важный компонент игровой инфраструктуры, который должен быть разработан и оптимизирован для требований современных игр, включая интерактивность в реальном времени, графику высокого разрешения и поддержку большого числа одновременных игроков. Это требует глубокого понимания сетевых протоколов, сжатия данных и других технологий для оптимизации производительности, а также умения сотрудничать с сетевыми инженерами и другими заинтересованными сторонами для реализации эффективных решений.

#### Статус сети

Качество и доступность сетевого соединения между игровым устройством и edge-сервером. Это важно, поскольку влияет на опыт игрока. Статус сети может влиять на производительность игры — скорость, отзывчивость и надёжность. При ненадёжном соединении игроки могут испытывать лаги, замедления и даже разрывы соединения. Хороший статус сети необходим для бесшовного игрового опыта и должен контролироваться и оптимизироваться для достижения наилучшей производительности.

### М

#### Мультидоступные edge-вычисления (MEC)

Концепция сетевой архитектуры, которая обеспечивает возможности облачных вычислений и среду IT-сервисов на границе сотовой сети.

### П

#### PaaS

Облачная платформа, предоставляющая разработчикам игр необходимую инфраструктуру и инструменты для создания, развёртывания и управления игровыми приложениями на краю сети. Платформа Edgegap использует преимущества edge-вычислений для обеспечения низкой задержки и высокоскоростного игрового опыта для пользователей. Она также предлагает масштабируемость, безопасность и надёжность, делая её идеальным решением для разработчиков игр, стремящихся улучшить свои приложения.

#### Потеря пакетов

Феномен потери или отбрасывания пакетов данных при передаче между вычислительными устройствами в сети. Потеря пакетов вызвана различными факторами, включая:

1. Перегруженная сеть: сеть может испытывать перегрузку из-за высокого трафика, в результате чего пакеты отбрасываются.
2. Сетевая задержка: задержки в сети могут привести к тому, что пакеты приходят слишком поздно и отбрасываются.
3. Порча данных: пакеты могут повредиться при передаче, становясь нечитаемыми и отбрасываемыми.
4. Технические проблемы: проблемы, такие как отказ оборудования, устаревшее оборудование или ошибки в программном обеспечении, могут приводить к потере пакетов.
5. Расстояние: пакеты, путешествующие на большие расстояния, более подвержены потере из-за помех сигнала и других проблем.
6. Устаревшие протоколы: использование устаревших протоколов может приводить к потере пакетов, поскольку современные сети оптимизированы под новые технологии.
7. Ошибки маршрутизации: пакеты могут теряться из-за некорректной маршрутизации, в результате отправки по неверному адресу."

#### Постоянное хранилище

Возможность хранить игровые данные и информацию непосредственно на edge-устройстве, вместо опоры на облако или центральные серверы. Это обеспечивает сохранность данных и прогресса игры даже при временной потере подключения или нарушениях сети. Это важно для обеспечения бесшовного игрового опыта, особенно в многопользовательских играх, где критично поддерживать непрерывное соединение.

#### Движок политик

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

#### Pulse Cloud

Облачная платформа, предоставляющая решения edge-вычислений для игровых приложений. Эта технология обеспечивает обработку игровых данных в реальном времени, улучшая производительность и снижая задержки для конечных пользователей. Может играть ключевую роль в обеспечении бесшовного игрового опыта за счёт обработки критичных данных на краю сети, ближе к пользователю. Это уменьшает зависимость от центральных серверов, снижает их перегрузку и повышает производительность, делая решение идеальным для высокопроизводительных игровых приложений.

### Р

#### Ограничение скорости (Rate Limit)

Ограничение скорости — максимальное число API-запросов, разрешённых (обычно в секунду) либо для конкретного HTTP-метода, конкретного HTTP-ресурса, определённой группы HTTP-методов или ресурсов с близкими шаблонами использования, для целого продукта (например [podbor-igrokov](https://docs.edgegap.com/ru/learn/podbor-igrokov "mention") или [brauzer-serverov](https://docs.edgegap.com/ru/learn/brauzer-serverov "mention")), либо глобальное ограничение скорости для всей организации.

Ограничения скорости помогают:

1. Предотвратить злоупотребления, истощение ресурсов и атаки типа Denial of Service со стороны злоумышленников.
2. Справедливо распределять доступную вычислительную и сетевую ёмкость между пользователями или ресурсами API.

После достижения лимита запросов за данный период времени (обычно 1 секунда) пользователь не может выполнить дополнительные запросы до начала следующего периода (следующей секунды). Ограничения скорости лучше обрабатывать на стороне клиента, определяя HTTP-ответ `429 Too Many Requests`  и повторяя запросы несколько раз после ожидания [экспоненциально увеличивающегося периода повторных попыток с джиттером](https://dev.to/biomousavi/understanding-jitter-backoff-a-beginners-guide-2gc).

#### Реле

Реле — сетевой узел, выступающий посредником в маршрутизации пакетов данных между клиентом и сервером. Реле Edgegap стратегически расположены по распределённой облачной сети для оптимизации передачи данных. Они выбираются с помощью технологии принятия решений на основе телеметрии в реальном времени, чтобы обеспечить наилучший пользовательский опыт, особенно в игровых сценариях.

#### Система реле

Технология, позволяющая распределять вычислительные задачи между различными устройствами и серверами в сети, уменьшая нагрузку на одно устройство и обеспечивая плавную и быструю работу. Система реле действует как мост между edge-устройствами и облачными серверами, обеспечивая обмен данными в реальном времени и гарантируя низкую задержку и высокое качество игрового опыта для конечного пользователя.

#### Репозиторий

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

### С

#### Образ сервера

Снимок конфигурации сервера, включающий операционную систему, установленное ПО и настройки, который можно использовать для создания новых экземпляров сервера.

#### Сессия

Сессия функционирует как подслой внутри развёртывания, специально предназначенный для управления более динамичными элементами, такими как сокеты или доступные слоты. Сессии особенно полезны в следующих сценариях:

1. Управление входом и выходом отдельных игроков или групп в рамках развёртывания, и
2. Обеспечение нескольких матчей или игр внутри одного развёртывания. Дополнительные детали о сессиях будут обсуждены отдельно

#### Сессия — тип матч

В сессии типа «матч» каждая сессия занимает одно сокет-пространство, независимо от числа игроков в этой сессии. Например, три сессии по десять игроков займут только три из пяти доступных сокетов. Удаление сессии уменьшает число занятых сокетов соответственно.

#### Сессия — тип слот

В сессии типа «слот» каждый игрок занимает одно сокет-пространство в развёртывании. Например, если в развёртывании есть десять сокетов, соло-игрок и группа из четырёх человек займут пять сокетов. Удаление сессии освобождает соответствующее количество сокетов.

#### Бессерверный FaaS

Игровые приложения и сервисы могут выполняться без необходимости выделенного сервера и вместо этого развёртываться на облачной платформе вроде Edgegap, предлагающей возможности бессерверных вычислений. Это позволяет более быстро и эффективно обрабатывать игровые данные, а также исключает необходимость инвестиций в железо, обслуживание и масштабирование.

#### Сайдкар

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

#### Единая точка присутствия

Единая централизованная точка в сети, через которую маршрутизируется весь трафик для определённых сервисов или приложений. Часто используется для упрощения сетевой архитектуры и повышения производительности.

### Т

#### Телеметрия

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

#### Частота тика

Количество раз в секунду, когда сервер игры обновляет состояние игры, включая позиции игроков, действия и другие события.

Хотя более высокая частота тика может обеспечивать более отзывчивый игровой процесс для игроков, она также увеличивает требования к CPU игрового сервера для упаковки и распаковки большего числа сообщений за тот же промежуток времени.

Приблизительные частоты тика по категориям игр:

* кооперативные и социальные игры (терпимые к задержкам) — 30 Гц (30 обновлений в секунду),
* соревновательные и PvP игры — 60 Гц,
* турниры, VR и XR игры — 128 Гц.

### У

#### Контроль параметров использования

Возможность отслеживать и управлять использованием вычислительных ресурсов на edge-устройствах, специально для игровых задач. Это включает установку и соблюдение ограничений на такие параметры, как память, хранилище и вычислительная мощность, чтобы оптимизировать игровой опыт и предотвратить перегрузку edge-устройств.
