Приложения и версии
Узнайте о версионировании и приложениях — о концепциях и лучших практиках для более глубокого понимания.
📦 Приложения
Приложения объединяют серверные проекты. Такое разделение контекста особенно полезно, если вы:
работаете над несколькими играми или неигровыми проектами (единый счёт),
работаете над внешними проектами как соразработчик (передать право собственности позже),
зависите от нескольких слабо связанных типов серверов с разными схемами масштабирования или требованиями.
Вы можете управлять своими приложениями в Edgegap с помощью наших плагинов, панель управления, или нашего API.
🏷️ Версии приложения
По мере разработки вашего приложения и постоянного выпуска новых сборок вам нужно хранить каждую сборку как отдельную версию, чтобы:
обеспечивать совместимость между вашими клиентом и сервером,
сравнивать различные аспекты ваших постепенных релизов (производительность, мнение пользователей),
тестировать несколько версий приложения одновременно (разработка, контроль качества, staging, beta).
Вы можете управлять версиями вашего приложения в Edgegap с помощью нашей панель управления, или нашего API.
Каждая версия уникально идентифицируется в своём родительском приложении по имени версии приложения. Вы можете свободно выбрать собственную систему именования. Вот несколько популярных примеров, чтобы вдохновить ваш выбор:
2024.01.30-16.23.00-UTC- временные метки наглядны для хранения многих прошлых версий,1.1.0- семантическое версионирование — отличный выбор, чтобы обозначать масштаб изменений,dev,staging,qa,prod- оставлять только последнюю версию для каждой среды очень просто,blue,green- версии можно использовать как псевдонимы для стратегии поэтапного обновления.
Комбинируйте стратегии версионирования
Часто лучшим решением является сочетание стратегий версионирования, например:
использование временных меток или семантического версионирования для dev-сборок, для более детального отслеживания;
сохраняя
staging,qaиprodверсии с параметрами, специфичными для среды;чередуя
blueиgreenверсии как псевдонимы для обновлений без простоя матчмейкинга.
🧱 Обязательные параметры
Эти основные параметры должны быть всегда определены.
Требования к ресурсам
Помимо имени версии, для создания новой версии требуется несколько параметров:
vCPU - сколько виртуальных единиц CPU нужно вашему приложению для работы (1024 единицы = 1 vCPU),
минимально допустимый объём vCPU — 0,25 vCPU (256 единиц),
Память - сколько мегабайт ОЗУ нужно вашему приложению для работы (1024 МБ = 1 ГБ),
GPU - сколько графических процессоров нужно вашему приложению для работы,
эта функция пока недоступна, свяжитесь с нами, если вам интересно.
Сведения об образе
Эти параметры помогут нашей системе определить, какая сборка вашего сервера должна быть запущена позже:
Реестр -
registry.edgegap.comесли вы используете наш реестр контейнеров,чтобы использовать сторонний реестр, введите ваши Docker-учётные данные стороннего реестра,
реестр служит общей службой хранения для ваших и чужих репозиториев.
Репозиторий образов - обозначает выделенный репозиторий вашего приложения,
все свои репозитории вы найдёте на нашей странице реестра контейнеров на панели управления,
каждый репозиторий может содержать несколько тегов образа вашего сервера.
Тег - обозначает конкретный артефакт сборки (версию) образа вашего сервера,
наши плагины по умолчанию копируют значения тегов из имён версий приложения,
вы можете просматривать локально сохранённые теги в Docker Desktop Images или с помощью CLI docker.
Частный реестр - если доступ к вашему репозиторию защищён (частный репозиторий), нам также понадобятся:
Токен имени пользователя - имя пользователя для программного доступа к вашему реестру,
Токен пароля - пароль для программного доступа к вашему реестру,
для Edgegap реестр контейнеров, вы можете скопировать эти значения с нашей панели управления,
они не требуются для публичных репозиториев.
⚙️ Необязательные параметры
Эти параметры можно настроить, чтобы дополнительно адаптировать ваши развёртывания.
Внедряемые переменные
Пользовательские переменные окружения будут внедрены для всех развёртываний этой версии:
типичные примеры: аргументы движка, секреты и конечные точки сторонних сервисов,
см. Внедряемые переменные чтобы понять различные способы внедрения переменных окружения в зависимости от контекста развёртывания, в дополнение к переменным версии приложения,
каждая переменная окружения может содержать до 4 КБ (килобайт) строковых данных.
Активное кэширование
🌟 Перейдите на тариф Pay as You Go чтобы открыть время развёртывания в 0,5 секунды по всему миру!
Ускорьте развёртывания и запускайте серверы за секунды, без необходимости в резервных серверах. Образ сервера, связанный с этой версией приложения, будет автоматически предварительно загружен во всех наших локациях по всему миру.
Кэширование начнёт работать в полную силу, когда уровень кэширования вашей версии приложения достигнет 🟢 Good.
Сопоставление портов
Каждому серверу требуется как минимум один порт, чтобы принимать входящие соединения клиентов:
Порт значение относится к внутреннему порту значению, обычно из вашей интеграции netcode,
Протокол будет зависеть от транспортного протокола вашей интеграции netcode,
Имя — это читаемый человеком идентификатор для ваших нужд, может совпадать с портом,
Проверки можно включить, чтобы убедиться, что ваш контейнер инициализирован до пометки READY.
Хотя внутренние порты для серверного процесса задаются как часть версии приложения, внешние порты назначаются случайным образом после создания развёртываниячтобы потенциальный злоумышленник (хакер) был замедлен и обнаружен до того, как сможет нанести ущерб.

Предохранительные меры
Эти параметры помогают в различных крайних случаях и при общей диагностике сервера:
Временные ограничения - эти функции могут помочь вам управлять жизненным циклом ресурсов развёртываний:
Максимальная длительность игры можно настроить, чтобы корректно завершать работу ваших серверов по истечении заданного периода, или установить
-1с создание/редактирование версии приложения через API для Постоянство с Частные флоты.Максимальное время развёртывания может помочь вам очищать развёртывания, которые слишком долго запускаются.
Политика перезапуска процесса - управляет поведением развёртывания, когда процесс вашего сервера останавливается.
Всегда перезапускать (по умолчанию) — перезапустит при успешном коде выхода (0) и при любом аварийном завершении.
Никогда не перезапускать (рекомендуется) — развёртывание останавливается при успешных и аварийных кодах выхода.
Перезапускать при сбое — перезапускать только при кодах выхода с ошибкой, полезно для постоянных серверов.
Хранение журналов
Чтобы экспортировать журналы сервера после остановки развёртывания, настройте Хранилище конечной точки с использованием S3-ведра.
⏩ Согласованность обновлений
Чтобы убедиться, что ни один из параметров не изменится при создании новой версии приложения через наш панель управления, мы рекомендуем использовать Дублировать функцию в правом верхнем углу страницы панели управления предыдущей версии приложения. При дублировании вы можете изменить любые параметры перед сохранением.
Последнее обновление
Это было полезно?

