控制面与数据面

最终架构的两个面

经过前面几章,文件上传系统已经从简单接口演进为完整平台。最终架构可以拆成控制面和数据面:

控制面:鉴权、配额、上传任务、元数据、签名、审核状态、审计日志
数据面:客户端直传、对象存储、分片合并、CDN 分发、异步扫描
  • 控制面由业务服务掌握,因为它需要理解用户、租户、权限和文件状态。
  • 数据面交给对象存储、CDN 和异步任务系统,因为它们更适合处理大文件、大带宽和耗时任务。

分层的职责

模块属于职责
上传任务 / 分片控制面状态机、进度、过期清理
对象存储数据面文件本体、容量、备份
异步扫描数据面病毒、内容审核、转码
CDN数据面分发、缓存、加速
元数据 + 审计控制面业务事实、可追溯

为什么这么分

分层的核心价值是职责单一 + 大流量隔离:

  • 改权限模型,不动存储。
  • 换 CDN 厂商,不动业务逻辑。
  • 存储扩容、扫描扩容,各自独立。
  • 业务服务不再承载大文件流量,普通 API 不被拖慢。

演进如何走到这一步

基础上传(全部在业务服务)
  → 分片 + 断点续传(控制面出现状态机)
  → 对象存储直传(数据面独立)
  → CDN(数据面进一步外移)
  → 安全审计(治理层贯穿控制面)

每一步都是把「判断」留在控制面、把「流量」推向数据面。

下一节看支撑这两个面的核心数据表。

发现内容有问题?

告诉我们哪里需要改进。