Переключение сетевого оборудования на резерв (failover) Network device failover
ID причины dc-failover · Основной ответственный Команда инфраструктуры · Сетевая инфраструктура · Совместно Команда разработки · Разработка сервера, Команда разработки · Разработка клиента
Когда маршрутизатор или файрвол выходит из строя и трафик переключается на резервное устройство (failover), на эти несколько секунд у всех фриз.
Почему Из-за отказа или обслуживания трафик переключается на резервное устройство → Следствие Переключение занимает несколько секунд, а если состояние сессий не синхронизировано, соединения сбрасываются → На экране Одновременный фриз у всех игроков сервера, массовые дисконнекты
Основной ответственный Команда инфраструктуры · Сетевая инфраструктура · Совместно Команда разработки · Разработка сервера, Команда разработки · Разработка клиента
Команда разработки: задачи
Сервер: таймауты, которые переживают короткие обрывы (несколько секунд), при переподключении после обрыва подхватывать сессию по токену. Клиент: при обрыве автоматически переподключаться (со случайным разбросом интервала между попытками, чтобы игроки не возвращались все разом).
Команда инфраструктуры: задачи
Резервирование с общим состоянием соединений, обнаружение отказов через BFD меньше чем за 1 с, регулярные тесты переключения.
Цифры для ориентира
Если устройство сразу замечает отказ, примерно 1–3 с. Если быстрого обнаружения отказов (BFD) нет и всё держится на стандартных таймерах BGP, маршрут может быть разорван 90–180 с, пока соседнее устройство не заметит отказ.
На графике
Массовый обрыв соединений · число подключений, общий входящий и исходящий трафик сервера
Где смотреть
Посмотреть журналы событий маршрутизаторов и файрволов (смена роли VRRP, падение сессий BFD и BGP, записи о переключении на резерв) и в то же время число подключений и общий трафик серверов
Подтверждает
В момент переключения по журналу устройства трафик всех серверов за ним на несколько секунд падает до 0 или число подключений падает одновременно
Опровергает
Если подключения упали только на одном сервере, это «Падение сервера» или «Проблемы драйвера и прошивки NIC». Если журнал устройства чист, а остановилась одна облачная виртуальная машина, это «Обслуживание облачного хоста и живая миграция»
RFC 7938: Use of BGP for Routing in Large-Scale Data CentersIETF Если полагаться только на keepalive в BGP, сходимость медленная, если сразу реагировать на падение линка и разрывать сессию, отказ обнаруживается за миллисекунды и маршруты быстро сходятся заново