Сбой вспомогательного сервера Auxiliary service outage
ID причины in-subservice · Основной ответственный Команда разработки · Разработка сервера · Совместно Команда инфраструктуры · Серверная инфраструктура
Если отказывает сервер, который работает отдельно от игрового (чат, группы, аукцион), перестаёт работать только эта функция.
Почему Выделенный сервер функции тормозит или падает → Следствие Нет ответа только на запросы этой функции → На экране Не работает чат, приглашение в группу остаётся без ответа, бесконечная загрузка торговой площадки (бои идут нормально)
Основной ответственный Команда разработки · Разработка сервера · Совместно Команда инфраструктуры · Серверная инфраструктура
Команда разработки: задачи
Проектировать так, чтобы игра продолжалась при сбое функции, показывать состояние каждой функции, не собирать несколько функций на одном центральном сервере.
Команда инфраструктуры: задачи
Настроить health check и алерты для каждого вспомогательного сервера, резервирование и автоматический перезапуск.
На графике
Массовый обрыв соединений · доля успешных запросов по функциям, число соединений и health check вспомогательных серверов
Где смотреть
Смотреть health check, состояние процессов и число соединений каждого вспомогательного сервера (чат, группы, аукцион), долю успешных запросов и время ответа по функциям. За балансировщиком смотреть UnHealthyHostCount целевой группы
Подтверждает
Health check не проходит или число соединений резко падает только у сервера той функции, на которую жалуются, а тики игрового сервера и бои в норме
Опровергает
Если разом остановились несколько функций, причина скорее в центральном сервере, через который они все идут, или в каскадном отказе
Чем проверить
Инструменты инфраструктуры (игровой код не нужен)
Подробнее
Если группы, гильдии, личные сообщения и переходы между серверами идут через один центральный сервер (сервер мира или сервер-менеджер), то при его замедлении сразу останавливаются несколько функций.
Источники
Bulkhead PatternMicrosoft Azure Если разнести компоненты по изолированным пулам, при отказе одного остальные продолжают работать и сбой не распространяется