Skip to content

后台 / API / 数据层 ​

一句话定位 ​

这一模块不再把 API、数据库、缓存、文件链路当成后端杂项清单,而是按接口契约 → 一致性 → 数据存储 → 文件媒体链路 → 项目案例建立一条工程主线。

你会在这里解决什么判断 ​

  • 为什么“接口能调通”不等于接口设计正确?
    • 一句话答:能调通只验证了通路;幂等、重试、一致性、契约稳定性才是正确性,否则高峰或重试时就会出问题。
  • 幂等、重试、去重、最终一致性应该分别在哪一层落地?
    • 一句话答:幂等键在业务层 / 网关,重试客户端与服务端配合,去重在中台 / 数据库,最终一致性靠消息 / 补偿在业务层收敛。
  • MySQL / PostgreSQL / MongoDB / Redis 各适合承载什么数据与读写模式?
    • 一句话答:MySQL 关系事务,PostgreSQL 强类型 + JSON 扩展,MongoDB 文档灵活写入,Redis 缓存 / 热数据 / 计数器;按一致性要求与写入模式选。
  • 文件上传/下载/校验/原子更新为什么经常跨前后端一起出问题?
    • 一句话答:链路横跨客户端网络、服务端存储、CDN / 回源、校验与原子替换,任一段不一致就会整体失败。
  • 移动端下载、媒体处理、回调通知、SSE / WebSocket 在架构上怎么配合?
    • 一句话答:下载走可恢复任务,媒体处理放服务端 / 原生,回调通知统一回执,SSE / WebSocket 负责实时推送;职责分离再由服务端聚合。

先建立哪一层心智 ​

建议先把后端与数据问题拆成五层:

  1. 接口契约层:REST、分页、错误码、回调/SSE/WebSocket
  2. 一致性控制层:幂等、重试、去重、最终一致性
  3. 数据存储层:MySQL / PostgreSQL / MongoDB / Redis
  4. 文件媒体链路层:断点续传、分片上传、压缩处理、原子更新、大文件下载
  5. 项目案例层:把上面四层放回真实链路里看

推荐阅读顺序 ​

第 1 步:先看 API 契约层 ​

第 2 步:再看数据库与缓存 ​

第 3 步:再看文件与媒体链路 ​

第 4 步:最后回到项目案例 ​

模块知识树 ​

01. 接口契约层 ​

总览 ​

专题展开 ​

这组重点解决:API 不是只看字段对不对,而是要能承受重试、失败恢复、异步回流与跨端协同。


02. 数据存储层 ​

总览 ​

专题展开 ​

这组重点解决:不同存储不是替代关系,而是事务能力、查询模型、延迟特征和一致性策略不同。


03. 文件与媒体链路层 ​

总览 ​

这组重点解决:文件链路不是单点上传/下载,而是校验、续传、处理、落盘、更新的一整条流水线。


04. 项目案例层 ​

总览 ​

当前缺口 ​

  • 已补:download_service 案例闭环,覆盖 Flutter 状态机、共享校验器、Android 原子晋升
  • 仍可继续扩展:真实 Range 续传、磁盘空间不足、解压失败巡检

这组重点解决:把 API 契约、一致性、存储和文件链路落回真实业务实现,而不是停留在通用概念。

对应 labs 入口 ​

当前已落地六个可运行实验,其余仍在计划补齐:

备注 ​

这个模块现在已经从“后端知识点清单”收口成一条工程主线。下一步最值得补的是项目案例页,把下载、校验、缓存、更新替换、错误恢复真正串起来。

站点构建时间:2026/8/24 23:43:17