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

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

Зависимость от внешних сервисов External dependencies (auth, billing, platform)

ID причины in-external · Основной ответственный Внешние стороны · Внешние стороны · Совместно Команда разработки · Разработка сервера

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

Если тормозит или останавливается внешний сервис (вход через платформу, оплата, подтверждение личности), всё застревает на этом этапе.

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

Симптомы
Ошибка входа / бесконечная загрузка, Съеденные действия / роллбэк
Факторы
Остановка
У кого
Весь сервер, Только одна функция
Когда
Сразу после входа или техработ, При определённом действии
Ответственные
Основной ответственный Внешние стороны · Внешние стороны · Совместно Команда разработки · Разработка сервера
Команда разработки: задачи
Ставить таймауты на внешние вызовы и показывать понятное сообщение, кэшировать результат авторизации, предусмотреть повтор платежа и порядок компенсации.
Внешние стороны: задачи
Запросить у провайдеров авторизации, оплаты и платформы подтверждение сбоя и восстановление, сообщить игрокам, что сбой на стороне внешнего сервиса.
На графике
Ступенька вверх с определённого момента · время ответа и доля ошибок внешних вызовов, число успешных входов
Где смотреть
Смотреть время ответа, долю ошибок и число таймаутов по каждому внешнему вызову (вход через платформу, оплата, подтверждение личности) и страницу статуса провайдера
Подтверждает
С момента, когда пошли неудачные входы и платежи, ошибки и таймауты одного внешнего вызова поднимаются ступенькой и держатся, а на странице статуса провайдера на то же время отмечен сбой
Опровергает
Если внешние вызовы в норме, а вход не работает, причина в самом сервере авторизации (исчерпание пула потоков, БД) или в очереди подключений ОС (backlog)
Чем проверить
Нужны логи и метрики игрового сервера или клиента
Реальные инциденты
Fastly 2021: Ошибки CDN Fastly по всему миру
AWS 2021: Перегрузка внутренней сети AWS us-east-1
AWS 2025: Сбой DNS DynamoDB в AWS us-east-1 и долгое восстановление

Источники

  1. Timeouts, retries, and backoff with jitter AWS
    Amazon Builders' Library. Пока идёт ожидание ответа, заняты ресурсы вроде потоков и соединений, поэтому нужен таймаут, а API с побочными эффектами можно повторять, только если гарантирована идемпотентность
  2. Circuit Breaker Pattern Microsoft Azure
    Вызов, который скорее всего не пройдёт, отклоняется сразу, без ожидания таймаута, чтобы время ответа оставалось в норме
  3. REL05-BP01 Implement graceful degradation to transform applicable hard dependencies into soft dependencies AWS
    AWS Well-Architected. Даже при сбое зависимого сервиса сохранять ключевые функции хотя бы на немного устаревших данных (обоснование кэша результатов авторизации)

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

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

Причины с тем же симптомом (Ошибка входа / бесконечная загрузка) на других слоях

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