한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Анатомия игровых лагов › L13 Архитектура и эксплуатация серверов

Сбой вспомогательного сервера Auxiliary service outage

ID причины in-subservice · Основной ответственный Команда разработки · Разработка сервера · Совместно Команда инфраструктуры · Серверная инфраструктура

Открыть карточку в основной версии с иллюстрациями и экспериментами →

Если отказывает сервер, который работает отдельно от игрового (чат, группы, аукцион), перестаёт работать только эта функция.

Почему Выделенный сервер функции тормозит или падает → Следствие Нет ответа только на запросы этой функции → На экране Не работает чат, приглашение в группу остаётся без ответа, бесконечная загрузка торговой площадки (бои идут нормально)

Симптомы
Съеденные действия / роллбэк, Ошибка входа / бесконечная загрузка
Факторы
Остановка, Потери
У кого
Только одна функция
Когда
Изредка, случайно, При наплыве игроков
Ответственные
Основной ответственный Команда разработки · Разработка сервера · Совместно Команда инфраструктуры · Серверная инфраструктура
Команда разработки: задачи
Проектировать так, чтобы игра продолжалась при сбое функции, показывать состояние каждой функции, не собирать несколько функций на одном центральном сервере.
Команда инфраструктуры: задачи
Настроить health check и алерты для каждого вспомогательного сервера, резервирование и автоматический перезапуск.
На графике
Массовый обрыв соединений · доля успешных запросов по функциям, число соединений и health check вспомогательных серверов
Где смотреть
Смотреть health check, состояние процессов и число соединений каждого вспомогательного сервера (чат, группы, аукцион), долю успешных запросов и время ответа по функциям. За балансировщиком смотреть UnHealthyHostCount целевой группы
Подтверждает
Health check не проходит или число соединений резко падает только у сервера той функции, на которую жалуются, а тики игрового сервера и бои в норме
Опровергает
Если разом остановились несколько функций, причина скорее в центральном сервере, через который они все идут, или в каскадном отказе
Чем проверить
Инструменты инфраструктуры (игровой код не нужен)
Подробнее
Если группы, гильдии, личные сообщения и переходы между серверами идут через один центральный сервер (сервер мира или сервер-менеджер), то при его замедлении сразу останавливаются несколько функций.

Источники

  1. Bulkhead Pattern Microsoft Azure
    Если разнести компоненты по изолированным пулам, при отказе одного остальные продолжают работать и сбой не распространяется
  2. REL05-BP01 Implement graceful degradation to transform applicable hard dependencies into soft dependencies AWS
    AWS Well-Architected. Проектировать так, чтобы при отказе зависимости ключевые функции продолжали работать на немного устаревших или резервных данных
  3. CloudWatch metrics for your Network Load Balancer AWS
    UnHealthyHostCount: число целевых серверов, признанных неисправными по health check

Смотрите также

Тот же слой: L13 Архитектура и эксплуатация серверов

Причины с тем же симптомом (Съеденные действия / роллбэк) на других слоях

Карточка в основной версии с иллюстрациями и экспериментами