Telegram Veri Merkezlerinin Sırları: DC1'den DC5'e Kapsamlı Rehber Dünya Geneli

Telegram Veri Merkezlerinin Sırları: DC1'den DC5'e Kapsamlı Rehber

Telegram'ın 5 veri merkezinin sırları: DC5 sık sık çöküyor, DC2 görünmez, DC3 ise tamamen kayboldu. Kendi veri merkezinizi nasıl öğrenirsiniz?

Telegram, resmi olarak 5 veri merkezine (Data Center) sahip olduğunu belirtiyor: DC1, DC2, DC3, DC4 ve DC5. Bunlardan DC1 ve DC3 Miami'de (ABD), DC2 ve DC4 Amsterdam'da (Hollanda), DC5 ise Singapur'da bulunuyor. Her kullanıcı hesabı, kayıt anında bir veri merkezine atanıyor ve bu atama telefon numarasına veya coğrafi konuma göre değişmiyor. Kullanıcılar kendi veri merkezlerini seçemiyor; yanlış DC'ye bağlanıldığında sunucu hata mesajı gönderiyor ve istemci otomatik olarak doğru DC'ye yönlendiriliyor.

DC5, özellikle Çinli Telegram kullanıcıları arasında meşhur. Bunun sebebi, çok sayıda Çinli kullanıcıya hizmet vermesi değil, sık sık çökmesi. DC5 çöktüğünde, bu veri merkezindeki kullanıcılar Telegram'ı kullanamıyor ve sohbet gruplarında 'DC5 yine mi düştü?' konuşuluyor. Kullanıcılar, istemcilerinin 'yeniden bağlanıyor' mesajıyla geçirdiği sürenin ardından ancak diğer DC'lerdeki kullanıcılarla birlikte DC5'i eleştirebiliyor.

Bir meraklı, kullanıcıların veri merkezini sorgulayan bir bot geliştirdi. Botun verilerine göre, +86 (Çin) numaralı kullanıcılar DC5'te, +1 (ABD) numaralı kullanıcılar DC1'de, Avrupa numaralı kullanıcılar ise DC4'teydi. Ancak bot, DC2 ve DC3'te hiç kullanıcı tespit edemedi. Toplamda 360 kullanıcı DC1'de, 50 kullanıcı DC4'te, 390 kullanıcı DC5'teydi. Bu durum, DC2 ve DC3'ün kullanıcısız olduğu yönünde spekülasyonlara yol açtı.

Gerçekte ise DC2 ve DC3'ün durumu farklı. Telegram'ın 2022 Mayıs ayındaki DC atama kurallarına göre, DC1, DC2, DC4 ve DC5, kayıt sırasındaki telefon numarasının ülke koduna göre atanıyor. Bu 4 DC sürekli olarak yeni kullanıcı kabul ediyor ve yoğun kullanıcıya sahip. DC3 ise bir zamanlar kullanıcı barındırıyordu, ancak 2020 civarında mevcut kullanıcılar DC1'e taşınmış olabilir. Şu anda DC3'ün muhtemelen hiç kullanıcısı yok ve yeni kayıt kabul etmiyor. Yani DC2'de aslında çok sayıda kullanıcı var (örneğin +49 Almanya numaralı kullanıcılar), ancak bot yanlış sorgulama yöntemi nedeniyle bunları göremiyor.

Kullanıcının hangi DC'de olduğunu öğrenmek için 3 yöntem var. İlk yöntem (Giriş Yöntemi): Telefon numarasına göre doğru DC'yi belirlemek için auth.sendCode API'sini çağırmak. Yanlış DC'ye bağlanıldığında PHONE_MIGRATE hatası alınıyor. İkinci yöntem (Profil Fotoğrafı/Dosya Yöntemi): Plus Messenger gibi üçüncü taraf istemciler, kullanıcının profil fotoğrafını indirirken dc_id alanından DC'yi okuyor. Bu yöntem doğru sonuç veriyor. Üçüncü yöntem (Web CDN Yöntemi): Botlar genellikle Telegram'ın Web CDN'sini kullanıyor. Örneğin, https://t.me/dctest adresindeki profil fotoğrafı alan adı cdn4 ile başlıyorsa, kullanıcı DC4'te sanılıyor. Oysa DC2 ve DC3, aynı konumdaki DC4 ve DC1'in CDN alan adlarını 'ödünç aldığı' için bot bu kullanıcıları yanlış DC'de gösteriyor.

Bu yöntemlerle yapılan doğru sorgulamalar, DC2 kullanıcılarının aslında yaygın olduğunu, ancak DC3 kullanıcılarının neredeyse hiç olmadığını gösteriyor. Bulunan iki DC3 kullanıcısı (@urie ve @flowinglig) üzerinde yapılan analizler, bunların aslında DC3'te olmayabileceğini ortaya koyuyor. Örneğin, bu hesapların dosyaları DC1'de saklanıyor olabilir. Sonuç olarak, Telegram'ın veri merkezi yapısı sandığımızdan daha karmaşık ve kullanıcıların DC'lerini doğru öğrenmek için güvenilir yöntemler kullanması gerekiyor.

Kaynak: dev.moe

Paylaş: