← На главную

Telegram: DC5 падает для Китая, DC2 и DC3 маскируются в CDN

15.07.2026 13:22 · hackernews

У Telegram заявлено пять дата-центров: DC1–DC5. DC1 и DC3 стоят в Майами, DC2 и DC4 — в Амстердаме, DC5 — в Сингапуре. Аккаунт привязывается к одному из них при регистрации и не меняется, даже если пользователь сменил номер или страну. Выбрать дата-центр самому нельзя — если клиент стучится не туда, сервер возвращает ошибку PHONE_MIGRATE_X и велит переподключаться.

DC5 печально известен в китайском комьюнити Telegram: он постоянно падает. Когда это происходит, пользователи DC5 сидят без связи и обсуждают «ну почему опять DC5?» в группах с теми, кто сидит на других дата-центрах.

Кто-то написал бота для проверки своего дата-центра. Выяснилось: у владельцев +86 (Китай) — DC5 (и жди следующего падения). У +1 (США) — DC1 (быстро и стабильно). У европейских номеров — DC4 (редкость в китайских группах). А где DC2 и DC3? По логам бота: 360 пользователей на DC1, 50 на DC4, 390 на DC5, и ноль на DC2 и DC3. Поползли слухи, что DC2 и DC3 то ли пусты, то ли подчинённые, принимающие новые регистрации только когда основные заняты.

Но правда оказалась сложнее. На самом деле DC1, DC2, DC4 и DC5 назначаются по коду страны номера телефона. DC3 когда-то имел пользователей, но примерно в 2020 году их могли перевести на DC1; сейчас он не принимает новых. DC2 же, наоборот, полон людей (например, +49 Германия уходит туда). Почему же бот их не видел? Потому что его метод кривой.

Есть три способа узнать свой дата-центр. Первый — через MTProto протокол: попытка вызвать auth.sendCode на неверном сервере возвращает PHONE_MIGRATE_2 — и ты понимаешь, что реально ты на DC2. Второй — через поле dc_id в структуре userProfilePhoto при загрузке аватарки; это даёт точный результат. Третий, как у того бота, — через Web CDN Telegram. И вот тут-то загвоздка: DC2 и DC3 «заимствуют» CDN-домены у соседних дата-центров (DC4 и DC1), поэтому бот показывает DC2 как DC4, а DC3 — как DC1.

С помощью метода аватарки нашли всего два аккаунта, которые когда-то были на DC3 (@urie и @flowinglig). Но их старые фото лежат на DC3, а новые — уже на DC1. Видимо, их перевели. Массовый тест с перебором 10 000 номеров из разных стран подтвердил: DC3 не принимает новых юзеров, а старых, скорее всего, переселили.

Вывод: чтобы не сидеть на падающем DC5 и вообще понимать, где твой аккаунт, можно выбрать номер телефона с нужным кодом страны. Но многое в Telegram не открыто, так что часть выводов — всё же догадки.

Читать оригинал →