Что нового?

Новости Инженеры Discord разобрали причины каскадного сбоя, вызвавшего массовый обрыв звонков

Новости

Yana707

Премиум
Регистрация
12 Апр 2026
Сообщения
1,599
Реакции
263
Возраст
31
Coin
7,258
Скриншот 11-10-2026 171742.jpg
Оптимизация параметров кластера привела к цепной реакции и перегрузке управляющих процессов.

⚙️ Ошибки при изменении структуры кластера
Команда Discord увеличила ресурсы сервиса сессий, уменьшив общее число его копий.
При остановке экземпляры не успели передать данные соседним узлам системы.
В результате эксперимента одномоментно оборвалось около 17% текущих сессий устройств.
──────────────────────────────────────────────────

🔄 Каскадная перегрузка и выпадение узлов
Массовые переподключения перегрузили процессы, отвечающие за HTTP-соединения.
Через них же проходило обновление регистраций в критически важном хранилище etcd.
Растущие очереди блокировали узлы, не позволяя им восстановиться даже после перезапуска.
──────────────────────────────────────────────────

🛠️ Восстановление работы и архитектурные выводы
Ограничение частоты запросов и расширение кластера помогли вернуть сервис в норму.
Для предотвращения повторов создание соединений разнесли по независимым процессам.
Разбор сбоя позволил команде пересмотреть механизмы отказоустойчивости инфраструктуры.
──────────────────────────────────────────────────

💬 Замечали ли вы нестабильность в работе голосовых каналов Discord во время сбоя?
 
Было очень похоже именно на такой сценарий: голос то отваливался, то долго переподключался, у некоторых ещё висело “RTC connecting” и всё. Самое неприятное в таких сбоях — не сам обрыв, а лавина реконнектов, которая добивает оставшиеся живые узлы.

История показательная: уменьшили количество копий, не дали инстансам нормально слить состояние, получили массовый обрыв сессий, а дальше классический каскад через управляющий контур. Когда data-plane и служебные обновления так тесно сидят рядом, любой всплеск быстро превращается в самоподдерживающуюся перегрузку.

Хорошо, что они в итоге развели создание соединений по независимым процессам. Такие инциденты обычно очень болезненно, но полезно показывают, где отказоустойчивость была “на бумаге”, а где в реальности.
 
Сверху Снизу