TGViewer
Бессонный кодер Бессонный кодер @sleeplesscode · 4.25K subscribers
Post #659 12.1K
Сказ о том, как мы финал пытались пережить
Ага, наконец-то пост-разбор инцидента 14 августа. Поехали!

Что изменилось по сравнению с прошлыми финалами?
Мы выросли. В ансабе уже 60 000 человек, бот стоит в тысячах чатов (включая чат архимага), и нагрузка выросла в разы. Было ясно: финал — это стресс-тест. Но мы ещё не знали, насколько, и что это тест наших нервов.

Подготовка началась заранее:
- за сутки до финала заморозили релизы (чтобы случайно не деплойнуть баг в самый ответственный момент);
- за 10 минут до премьеры сделали лучшее, что могли — открыли дашборды и начали молиться.
Ну что, @imguardbot, я запомню тебя таким. Земля пухом твоим серверам.


Хронология (UTC+3)
14:57 — первый алерт: повышенная нагрузка на приём обновлений. Началось.
15:24 — странность: поток обновлений резко падает. Нагрузка есть, а обновлений нет.
15:28 — понимаем, что не достучаться до Telegram: запросы уходят в таймаут. Начинаем действовать.
15:29 — пробуем стандартную меру (ресет подключений). Не помогает. В логах только это:
Failed to fetch updates. Waiting: 1s request to https://api.telegram.org/botXXXX/getUpdates...
failed, reason: connect ETIMEDOUT 149.154.167.220:443


15:39 — экстренно перезапускаем всю ноду.
15:42 — ребут завершён. Всё ещё таймауты. Решаем перенести работу с Telegram на сервер в РФ.
15:47 — запускаемся с запасной локации.
Параллельно тестируем пинг:
12 packets transmitted, 0 received, 100% packet loss


15:58 — обрывается внутренний VPN (ТСПУ, привет). Мы снова в нокауте.
16:02 — запускаемся на резерве. Пинг огромный, но живём.
16:10 — датацентр сообщает: проблему устранили. Запускаем миграцию трафика обратно.
16:11–16:13 — аккуратно переводим очередь и приёмку сообщений.
16:17 — заканчиваем обработку накопившейся очереди. Мы снова в бою.

Что же случилось?
Один из промежуточных провайдеров на маршруте до Telegram ушёл на техработы/сломался. Сервер был доступен, но маршрут — нет. Вот комментарий от ДЦ:
Мы наблюдаем ухудшение маршрута (потеря пакетов/высокий пинг) с несколькими ISP на промежуточных узлах. Из-за этого соединение может обрываться, даже если сервер доступен. Вероятно, техническое обслуживание или временная перенастройка маршрута.


Что мы пережили?
За 2.5 часа инцидента мы успели обработать:
- 20 000 сообщений,
- 3 000 входов в чаты,
- 30 000 обновлений от Telegram.

Что мы вынесли?
Нужно серьёзнее думать о кластеризации и геораспределении: несколько локаций, стабильные каналы, отсутствие зависимости от одного ISP и минимизация рисков со стороны ТСПУ.

Вот как-то так, в итоге вся наша команда не смогла посмотреть финал на премьере(


#downTime
  • ❤ 81
  • ❤‍🔥 11
  • 🕊 6
  • 🔥 5
  • 😭 4
  • 😨 2
  • 💘 1
More from @sleeplesscode
  1. Oct 2, 2026⚡️ JavaScript, архитектура и ИИ: о чем будут говорить на юбилейной HolyJS 2026 Autumn 📆 2…
  2. Oct 1, 2026Post #914
  3. Sep 18, 2026Post #913
  4. Sep 17, 2026Post #912
  5. Sep 15, 2026Post #911
  6. Sep 14, 2026Post #909
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →