这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
上线检查清单
上线前逐项自查
文件系统上线前,把下面每一项都过一遍。它来自前面所有章节踩过的坑。
传输
- 上传失败是否能恢复(分片 + 断点续传)?
- 未完成分片是否会自动清理,不过期堆积?
- 分片合并前是否校验数量、大小、hash?
- 服务端是否按用户、文件、IP 限流?
存储
- 文件是否从业务服务拆到对象存储(控制面 / 数据面分离)?
- 对象 key 是否包含业务、日期、随机 ID,不暴露原始文件名?
- 对象与元数据是否通过状态机 + 补偿任务保持一致?
- 是否有生命周期策略(临时清理、软删、冷热分层)?
分发
- 业务服务是否避免承载大文件下载流量(走 CDN)?
- 私有文件是否只能通过短期签名 URL 访问?
- CDN 缓存是否有版本化 / 刷新 / 回源保护策略?
- 大文件是否支持 Range 与断点下载?
安全与审计
- 文件 hash、大小、类型是否在服务端校验(不只信扩展名)?
- 文件是否先
scanning再available,风险文件不进可访问区? - 访问级别(公开 / 私有 / 临时 / 隔离)是否明确并由服务端控制?
- 审核失败 / 删除后,CDN 缓存与已发签名是否被失效?
- 审计日志是否覆盖上传、下载、删除、审核和风险处置?
成本与治理
- 回源率、上传成功率、存储成本是否有监控与告警?
- 临时分片 / 孤儿对象是否有清理与对账?
- 下载是否有并发 / 速率限制,防恶意拖库?
上线后的持续动作
检查清单不是一次性的。上线后还要:
- 监控:上传成功率、首字节时间、回源率、存储成本。
- 告警:扫描积压、回源异常、成本超支、风险文件激增。
- 演练:定期模拟大文件上传失败、CDN 回源风暴、风险文件处置。
- 复盘:每次安全事件后更新校验与扫描规则。
课程收束
文件上传系统的难点,不在「接收一个文件」,而在持续处理增长带来的复杂度:文件越来越大、用户越来越多、访问越来越分散、风险越来越多。
当你下次设计上传功能时,先问三个问题:
- 这个文件系统现在处于哪个阶段?
- 当前最大的瓶颈是上传成功率、下载延迟、存储成本,还是安全风险?
- 今天的方案会不会阻碍明天接入分片、对象存储、CDN 和审计?
能回答这些问题,你就已经从「写上传接口」进入了「设计文件平台」的视角。回顾与总结页会把这套方法沉淀成可复用的设计原则。
发现内容有问题?
告诉我们哪里需要改进。
