在旧金山里士满区一座前基督教科学教堂的中殿里,你可以听到互联网呼吸的声音 —— 这不是拨号调制解调器的刺耳噪音,也不是通知的提示音,而是数百个旋转硬盘和高速风扇冷却系统产生的稳定工业嗡鸣。这里是 Internet Archive(互联网档案馆)的总部,一个承担着记录人类文明全部数字历史这一西西弗斯式任务的非营利图书馆。
截至 2026 年,Internet Archive 管理着 4750 亿个存档网站、2800 万文本和书籍、1400 万音频文件(包括 22 万场现场演出)、600 万视频(其中 200 万为电视节目)、350 万图像和 58 万软件。面对如此庞大的数据规模,其基础设施架构的设计选择值得深入探讨。
存储架构:本地服务器 vs 云存储的成本博弈
与大多数现代互联网服务不同,Internet Archive 选择了一条独特的技术路径:完全不使用云存储解决方案。根据运营和基础设施经理 Jonah Edwards 的说明,所有上传到 Internet Archive 的文件都存储在超过 20,000 个硬盘上,这些硬盘分布在总部周围的 750 台服务器中,总存储容量达到 200PB(2 亿 GB)。
成本驱动的技术选择
这一决策的核心驱动力是成本考量。Jonah Edwards 解释道,如果使用 Amazon Web Services(AWS)等云服务提供商构建类似的基础设施,成本将远超目前物理结构的支出。Internet Archive 作为非营利组织,资金主要来自捐赠和政府资助(如美国联邦通信委员会的福利),成本效益是其技术决策的关键因素。
隐私与控制的工程优势
除了成本优势,本地服务器架构还带来了重要的工程和隐私优势:
- 透明度与可控性:当硬盘出现问题时,负责团队可以比云服务客户更高效地追踪和修复问题
- 用户隐私保护:避免云服务提供商跟踪和收集用户使用数据
- 长期可持续性:物理结构保证了透明度、简单性、耐久性、性能和寿命等基本原则
Internet Archive 的存储能力每年增长 25%,这意味着需要不断购买新硬盘来满足日益增长的存储需求。疫情期间,网站访问量和材料下载量急剧增长,促使组织进一步投资基础设施。
爬虫系统:Heritrix 架构与 WARC 格式标准化
Internet Archive 的核心采集引擎是其开源网络爬虫Heritrix。这个名字源于古英语中的 "heiress"(女继承人),寓意着这个爬虫旨在为未来的研究人员和世代收集和保存我们文化的数字文物。
Heritrix 的技术架构
Heritrix 是一个可扩展的、网络规模的、档案质量的网络爬虫项目,其主要组件包括:
- Frontier(边界管理器):管理要探索的 URI 队列,按照适当的时机出队以确保遵守礼貌策略
- Fetcher(获取器):负责下载网络内容以生成 "记忆体"(memento),即快照时存在的原始资源
Heritrix 设计尊重robots.txt排除指令和META robots标签,并以测量、自适应的速度收集材料,不太可能干扰正常的网站活动。当 Internet Archive 爬行时,使用archive.org_bot作为用户代理。
WARC 格式:数字保存的标准容器
爬虫获取的内容以Web ARChive(WARC)格式存储。WARC 是一种标准化文件格式,用于存储网络爬虫获取的资源以及相关元数据。这种格式的设计考虑了长期保存的需求,支持:
- 存储 HTTP 响应、请求记录、元数据记录等
- 支持大文件分割和压缩
- 提供内容完整性校验机制
WARC 文件通常包含多个记录,每个记录包含一个资源(如 HTML 页面、图像、CSS 文件)以及描述该资源的元数据。这种结构化的存储方式便于后续的检索和重放。
查找服务:广播机制与自动负载均衡
根据 2009 年 SYSTOR 会议上发布的架构文档,Internet Archive 的查找服务采用了一种独特的广播机制,这一设计在当时的规模下展现了卓越的工程智慧。
广播式对象定位
查找服务的工作流程如下:
- 当用户请求一个对象时,前端 HTTP 服务将对象 ID 广播给所有存储服务器
- 每个存储服务器在 RAM 中维护一个目录(catalog)
- 第一个响应的存储服务器拥有请求的数据
- 系统自动将请求重定向到该服务器
这种设计的优势包括:
- 可扩展性:新存储节点可以无缝加入系统
- 简单复制算法:无需复杂的分布式一致性协议
- 自动负载均衡:请求自然流向响应最快的服务器
性能指标与规模演进
2009 年的数据显示,系统已经具备:
- 超过 2500 个商品化节点
- 超过 6000 个硬盘
- 6 Gb/sec 的互联网下载带宽
- 100Mb/sec 的内部网络
- 每天 2300-48000TB 的吞吐量
- 每天 730-4250 万次点击
从 2009 年的 1PB 内容到 2026 年的 200PB 容量,Internet Archive 的存储规模增长了 200 倍,但其核心架构原则保持了惊人的一致性。
CDN 部署与缓存策略
虽然 Internet Archive 主要依赖本地基础设施,但在全球访问优化方面也采用了 CDN(内容分发网络)策略。系统通过添加缓存层来减少后端负载,使得许多节点可以在常规基础上关闭。
缓存优化算法
系统使用 ** 堆栈距离算法(Stack-Distance Algorithm)** 来计算 LRU 替换策略的最优缓存。根据 2008 年 11 月 1 日至 7 日的 7 天日志分析(2.7 亿次请求,240TB 下载量),最优缓存配置为:
- 30TB 缓存容量
- 可满足 91.8% 的字节请求
- 可处理 95% 的 I/O 操作
I/O 性能考量
每个文件需要多个 IOPS(每秒输入 / 输出操作),IOPS 数量与文件大小相关。假设下载瞬时发生,使用 Unix 预取算法计算 IOPS:
- 最大 IOPS:4,021,411
- 平均 IOPS:7,734
- 每个硬盘 IOPS:250
- 平均所需硬盘数:31
- 最大所需硬盘数:16,086
考虑到系统中只有 6000 个硬盘,实际需求处于中间位置。解决方案是使用固态硬盘(SSD),每个 SSD 可提供 20,000 IOPS,大幅提升缓存性能。
技术债务与可持续性挑战
尽管 Internet Archive 的基础设施架构在工程上令人印象深刻,但也面临着显著的技术挑战:
架构现代化压力
基于 2009 年设计的系统架构在 2026 年面临现代化压力:
- 硬件老化:早期部署的服务器和硬盘需要持续更换
- 软件更新:Heritrix 等核心组件需要维护和升级
- 安全挑战:分布式系统的安全防护需要持续投入
资金依赖与可持续性
作为非营利组织,Internet Archive 依赖:
- 政府资助(特别是美国联邦通信委员会的福利)
- 公司和个人捐赠
- 合作伙伴支持(与 625 个图书馆和其他合作伙伴合作)
这种资金模式在长期可持续性方面存在风险,特别是在经济下行期间。
工程启示:大规模数字保存的最佳实践
Internet Archive 的基础设施架构为大规模数字保存系统提供了宝贵的工程启示:
1. 成本效益优先的设计哲学
在云原生成为主流的时代,Internet Archive 证明了本地基础设施在特定场景下的成本优势。对于数据规模极大、访问模式可预测、长期保存需求强烈的应用,自建基础设施可能比云服务更具经济性。
2. 简单性胜过复杂性
广播式查找服务的设计体现了 "简单性胜过复杂性" 的工程原则。通过避免复杂的分布式一致性协议,系统获得了更好的可扩展性和运维简便性。
3. 开放标准与互操作性
坚持使用 WARC 等开放标准格式,确保了数字内容的长期可访问性和互操作性。这对于跨越数十年的数字保存项目至关重要。
4. 渐进式演进策略
从 2009 年的 1PB 到 2026 年的 200PB,Internet Archive 展示了渐进式容量扩展的能力。每年 25% 的存储增长需要精细的容量规划和硬件采购策略。
结语:数字记忆的守护者
Internet Archive 不仅仅是一个技术项目,它是人类数字记忆的守护者。在旧金山那座前教堂的嗡鸣声中,存储着互联网的集体记忆 —— 从早期的个人主页到重要的政府文档,从消失的新闻网站到文化遗产的数字副本。
其基础设施架构的选择反映了对数字保存本质的深刻理解:这不是一个追求最新技术的竞赛,而是一个关于持久性、可访问性和责任的工程挑战。在云服务商主导的时代,Internet Archive 坚持本地基础设施的路径,不仅出于成本考量,更是对数字主权和长期可持续性的承诺。
随着数字内容以指数级速度增长,Internet Archive 的工程经验为所有需要大规模数据保存的组织提供了宝贵的参考。在技术快速迭代的浪潮中,有时最持久的解决方案不是最前沿的,而是那些在简单性、成本效益和长期可持续性之间找到最佳平衡点的设计。
资料来源:
- Impreza Host, "Discover the Internet Archive storage infrastructure" (2021)
- Elliot Jaffe & Scott Kirkpatrick, "Architecture of The Internet Archive", SYSTOR '09 (2009)
- Internet Archive Heritrix Project Documentation
- Jonah Edwards, Internet Archive Operations and Infrastructure Manager 访谈记录