内容平台前后台分离架构记录
记录把个人内容站从纯静态升级为 Astro 前台 + CMS 后台 + 数据库 + 对象存储的架构决策与模块边界。
架构总览
Astro 前台(读侧)
+ CMS 后台(写侧)
+ PostgreSQL(结构化内容)
+ 对象存储(媒体资源)
+ Worker(索引同步 / AI 向量)
模块边界
| 层次 | 职责 | 不承担 |
|---|---|---|
| 读侧 Astro | 官网首页、播客、文章、知识库、专题、项目 | 后台编辑、权限、审核 |
| 写侧 CMS | 内容后台、富文本、草稿发布、媒体库 | 前台渲染 |
| 存储层 | PostgreSQL 结构化字段、对象存储媒体 | 业务逻辑 |
| 索引层 | Worker 同步搜索索引和 AI 向量 | 直接查数据库 |
读侧:Astro
- 官网首页、播客页、文章页、知识库页、专题页、项目案例页
- SEO 页面、RSS、Sitemap、静态搜索
- 不承担后台编辑、权限、审核、媒体管理
写侧:CMS
- 内容后台、富文本排版、草稿 / 发布 / 下架
- 媒体库、权限、内容审核
- 不承担前台渲染
存储层
- PostgreSQL 存结构化内容字段
- 对象存储存音频、图片、附件,内容里只保留 URL 和元数据
索引层
- Worker 在内容发布时同步搜索索引和 AI 向量库
- 前台搜索走索引服务,不直接查数据库
关键约束
- 内容 schema 必须经
content-contract契约层,不允许两端各自定义 - 动态内容存结构化 Block,不存运行时 MDX
- 公开页面只读
status: published内容 - 中文表达优先,英文路由作为国际化预留
演进路径
- 本地 MDX + Content Collections(已完成)
- CMS + 数据库接入
- 混合内容源(本地 MDX 与 CMS 共存)
- 发布工作流 + 预览
- 互动系统(评论 / 审核)
- 搜索升级 + AI 知识索引