Telegram의 5개 데이터센터 구조 해설
원제: Mysteries of Telegram Data Centers
왜 중요한가
Telegram 인프라의 실제 DC 배정 구조가 공개 분석을 통해 규명됨으로써, 메신저 서비스의 글로벌 분산 아키텍처 이해에 기여한다.
Telegram은 미국 마이애미(DC1·DC3), 네덜란드 암스테르담(DC2·DC4), 싱가포르(DC5) 5개 데이터센터를 운영하며, 계정은 가입 시 전화번호 국가코드 기준으로 DC가 배정된다. DC2에는 실제 다수 사용자가 존재하지만 조회 봇의 구현 결함으로 감지되지 않았고, DC3는 약 2020년경 사용자가 DC1으로 이전된 것으로 추정된다.
Telegram의 공식 문서 및 코드에서는 DC1~DC5 총 5개의 데이터센터를 명시한다. DC1·DC3는 미국 마이애미, DC2·DC4는 네덜란드 암스테르담, DC5는 싱가포르에 위치한다. 각 계정은 가입 시 제공한 전화번호 국가코드에 따라 특정 DC에 배정되며, 이후 사용자의 국가나 전화번호 변경과 무관하게 유지된다.
DC5(싱가포르)는 중국 Telegram 사용자 커뮤니티에서 잦은 장애로 악명이 높다. +86(중국) 번호로 가입한 사용자는 DC5에 배정되며, 장애 발생 시 해당 사용자만 서비스를 이용할 수 없게 된다.
DC 조회 봇을 통한 집계에서는 DC1에 360명, DC4에 50명, DC5에 390명이 확인된 반면 DC2와 DC3는 0명으로 나타났다. 이로 인해 DC2와 DC3는 사용자가 없다거나 상위 DC의 보조 역할을 한다는 추측이 퍼졌다.
그러나 실제 분석 결과는 달랐다. DC1·DC2·DC4·DC5는 각각 국가코드 범위에 따라 신규 가입을 받으며 실제 다수의 사용자를 보유한다. 예컨대 +49(독일) 번호로 가입하면 반드시 DC2에 배정된다. DC2 사용자가 봇에서 감지되지 않은 이유는 봇의 DC 조회 구현 방식 자체에 결함이 있었기 때문이다.
DC 확인 방법으로는 MTProto 프로토콜을 통해 DC1에 접속 후 auth.sendCode를 호출하면, 서버가 'PHONE_MIGRATE_2'와 같은 에러를 반환하며 실제 배정된 DC를 알려주는 방식이 가장 정확하다.
DC3의 경우, 과거에는 사용자가 존재했으나 2020년경 기존 사용자가 DC1으로 이전된 것으로 추정되며, 현재는 신규 가입을 받지 않고 사용자도 없는 상태로 운영 중인 것으로 보인다.