但一些隐藏的设计细节,往往被忽略。今天整理几个冷知识,分享给站长朋友们。
[hr]
一、S3 没有「目录」的概念
很多人以为 S3 的 bucket 里有文件夹,其实并没有。
所谓「目录」,只是对象键名(Key)里的 / 分隔符模拟出来的。
删除目录,其实是批量删除带相同前缀的对象。
[hr]
二、对象大小极限
单个对象最大支持 5TB。
上传超过 5GB 的对象,必须用 Multipart Upload(分块上传)。
好处是断点续传高效,失败只需重传部分数据。
[hr]
三、强一致性 vs 最终一致性
早期的 S3 是「最终一致性」,上传完对象后可能暂时读不到。
现在 AWS 已经改为 强一致性:
新写入和覆盖对象立即可见。
删除对象也立刻生效。
这对数据库备份、日志收集等场景非常关键。
[hr]
四、S3 也能当静态网站服务器
S3 可以直接托管静态网站,支持 HTML、CSS、JS 直接访问。
搭配 CloudFront,可以实现 全球 CDN 加速。
不少独立站、博客,其实就是「S3 + CloudFront」搭建的。
[hr]
五、数据生命周期管理
S3 提供 生命周期规则,能自动把文件转移到更便宜的存储层:
热数据 → S3 Standard
几乎不访问的数据 → S3 Glacier Deep Archive(存储成本超低)
[hr]
总结
S3 看似只是「存文件」,但背后的设计远比想象复杂。
从「目录结构的伪装」,到「一致性模型的演进」,再到「生命周期管理」,它已经成为全球最可靠的存储服务之一。
如果你只把 S3 当成「网盘」,那可能只用到了它 30% 的能力。
