Telegram 数据中心架构与基础设施之谜

Telegram 数据中心架构与基础设施之谜

Telegram 的基础设施围绕着地理分布的数据中心 (DC) 系统构建,该系统负责处理用户账户、消息路由和媒体存储。这种架构旨在将用户数据分布在不同的司法管辖区,以增加任何单一机构获取数据的难度,尽管这也会给终端用户带来性能和透明度方面的差异问题。

地理分布与用户路由

Telegram 根据用户注册时的地理位置将用户分配到特定的数据中心,这直接影响应用的延迟和性能。连接到物理距离远离当前位置的 DC 的用户通常会遇到响应速度较慢的情况。

  • DC2: 作为所有 MTProto 客户端的主要连接点,也是俄罗斯和乌克兰用户的主要枢纽。在俄语技术社区中,“DC2 down”是一个常用来描述服务中断的常用短语。
  • DC5: 主要为亚洲用户提供服务,包括在韩国等地区注册的用户。一些用户报告称,DC5 的故障与中国用户的强烈不满情绪相关联。
  • Miami DC: 位于美国东海岸的用户报告称,当被分配到迈阿密数据中心时,响应速度非常快(“snappy fast”),这突显了对于频繁发起请求的应用而言,物理距离对延迟的影响是多么关键。

数据存储与媒体处理

Telegram 将账户元数据和消息的存储与大型媒体文件的存储分开,以优化带宽和性能。

  • 账户数据: 存储在管理用户个人资料和消息历史记录的特定 DC 中。
  • 媒体存储: Telegram 使用两个专门用于媒体的数据中心。虽然其他 DC 也可以进行媒体传输,但这些传输的带宽通常会被限制,以优先保证专用媒体枢纽的带宽。

基础设施安全与司法管辖策略

Telegram 官方声称,将用户数据存储在不同司法管辖区的不同服务器上,会使当局更容易获取用户信息变得更加困难。然而,这种碎片化的方法也引发了大量的外部猜测和批评,涉及基础设施的实际安全性。

司法管辖猜测

一些分析师认为,用户在不同 DC 之间的分布可能与“五眼联盟”情报联盟或其他地缘政治边界相一致,这表明数据所有权可能会根据政治压力或法律行动(例如 Telegram 首席执行官在法国被捕)而发生转移。

外部管理指控

最近的报告指控 Telegram 的基础设施由同时也管理 FSB(俄罗斯联邦安全局)基础设施的人员进行管理,据称是在 Telegram 员工不知情的情况下进行的。这些指控暗示了在数据路由和管理中可能存在后门或系统性漏洞。

技术实现与技术债

从开发的角度来看,Telegram 的 DC 架构被一些人视为重大技术债的来源。Telegram 并没有采用现代的“每个用户一个粘性主节点选举” (sticky master election) 模式,而是依赖于一套自定义且僵化的 DC 分配系统。这要求团队中的每一位新开发者都必须学习一套不同于全球内容分发标准行业实践的专有路由逻辑。

"This strikes me as a huge amount of custom code and technical debt. Every new software dev probably has to learn this. Why not a sticky master election per user, and have no special data centers?"

如何识别您的数据中心

对于开发者和高级用户,可以使用 Telegram API 来识别账户被分配到了哪个数据中心。具体来说,可以使用 help.getConfig 方法来获取当前配置并确定与账户关联的的 DC。

Sources