Telegram数据中心概况Telegram宣称拥有5个数据中心DC在代码和文档中分别被称为DC1至DC5。其中DC1和DC3位于美国迈阿密DC2和DC4位于荷兰阿姆斯特丹DC5位于新加坡。每个账号注册时关联一个数据中心且不会随电话号码或地理位置改变用户不能自由选择数据中心连错会收到服务器错误提示。从频繁宕机的DC5说起在5个数据中心中DC5在中国Telegram社区格外“出名”是因为它频繁宕机。宕机时使用该数据中心的用户无法使用Telegram圈子里常讨论“DC5怎么又宕机了”用户只能等客户端恢复正常后和其他数据中心用户群聊吐槽。DC2和DC3的谜团为满足群成员好奇心有人创建机器人查询用户所在数据中心。群成员查看发现86号码注册用户在DC5面临宕机风险1号码注册用户在DC1享受连接速度和稳定性欧洲号码注册用户在DC4在中国社区少见。但通过“大数据查询”似乎没有DC2或DC3的用户。有人猜测DC2和DC3没用户也有人分析它们分别是DC1和DC4的从属数据中心主数据中心繁忙时接受注册。Telegram数据中心分配规则2022年5月简而言之DC1、DC2、DC4和DC5根据注册时电话号码的国家代码分配随时接受新用户有大量现有用户DC3曾有用户2020年左右现有用户可能已转移到DC1目前可能没用户也不再接受新注册。实际上DC2有大量用户只要电话号码国家代码属DC2范围用户会被分配到DC2。机器人未检测到DC2用户是因为检索方法有缺陷。我实际位于哪个数据中心目前有3种常见方法确定数据中心。方法1登录法用会分配到DC2的电话号码通过MTProto协议连到DC1调用auth.sendCode接口发验证码注册账号服务器返回PHONE_MIGRATE_2错误表明应连到DC2此方法适用于已注册账号但需知道电话号码难查群成员数据中心。方法2头像/文件法注册DC2新账号用第三方客户端Plus Messenger登录查看上传头像后显示位于DC2因客户端从userProfilePhoto结构的dc_id字段检索数据中心此方法根据用户上传文件所在数据中心确定。方法3Web CDN法用机器人查询新账号数据中心显示位于DC4因机器人通过Telegram的Web CDN确定新账号头像域名以cdn4开头导致误判DC2和DC3“借用”DC4和DC1域名提供服务所以机器人无法识别DC2用户。DC3的消失用方法2确定用户数据中心后发现全球范围内DC2用户不少但DC3用户罕见只找到两个位于DC3的用户urie**和flowinglig**。分析发现他们实际可能不在DC3如urie**上传的头像和消息历史图片新的多在DC1。此外urie**2021年测试结果也是DC1。因无法获取他们的电话号码无法用登录法准确测试只能推断他们已从DC3转移到DC1。为确认DC3不再接受新用户生成超10000个全球不同地区电话号码测试结论是DC3确实不再接受新用户现有用户可能已全转移到DC1。若想成为特定数据中心用户、避免DC5宕机风险或测试机器人可靠性可参考图片用特定国家代码电话号码注册。由于Telegram服务器和运营机制非开源文章许多结论基于推测。