个人网站的技术架构

Cloudflare DNS、Vercel、Astro、Supabase、GitHub Actions 和 OSS 之间如何分工。

AstroVercelSupabase

这个网站采用一个偏轻量、但可以长期扩展的架构:

  • Cloudflare 负责 DNS。
  • Vercel 负责托管 Astro 主站和 /api/* 接口。
  • Supabase 负责订阅、留言、评论和访问统计。
  • GitHub Actions 负责每日同步数据并触发重新部署。
  • 阿里云 OSS 负责图片、PDF、封面图和其他附件。

第一版刻意让大部分页面保持静态,这样访问速度快,部署模型也清楚。只有订阅、留言、评论、访问统计这些真正需要服务器的功能,才通过 Astro API route 按需执行。

这个分工的好处是:内容更新走 Git,互动数据走数据库,静态资源走 OSS。每一层都相对独立,不会因为一个功能还没成熟就拖慢整个网站上线。