我如何用 Cloudflare Workers 搭建一个完整的全栈博客

479 字
2 分钟
我如何用 Cloudflare Workers 搭建一个完整的全栈博客

为什么选择边缘全栈#

个人博客看似简单,但一旦加入后台、登录、评论、搜索和图片管理,就变成了一个完整 Web 产品。我选择 Cloudflare Workers 作为运行环境,是因为它能让页面渲染、API 和数据服务靠近用户,同时减少传统服务器的运维负担。

系统分层#

页面层使用 TanStack Start 与 React 19 负责 SSR、路由和交互;Hono 承担 API 网关;业务逻辑放在 service 层;Drizzle ORM 负责类型安全的数据访问;D1 保存文章、标签、评论和配置。KV 用于版本化缓存,R2 用于媒体文件。

功能模块按照 api、data、service、schema、components 和 workflows 拆分。data 层只处理数据库查询,service 层编排业务规则,UI 不直接依赖底层存储。这种边界让测试、替换实现和定位故障都更容易。

一次文章请求如何完成#

  1. 路由根据 slug 请求文章详情。
  2. 服务层先读取版本化 KV 缓存,未命中时查询 D1。
  3. 内容经过代码高亮和目录生成后返回 SSR 页面。
  4. 页面设置缓存与 SEO 元数据,并在客户端完成交互增强。

我特别处理的工程问题#

服务函数使用 Result 类型表达可预期错误,调用方必须穷举错误原因;全局中间件记录结构化 JSON 日志;发布流程生成公开内容快照,避免每次访问重复执行昂贵转换;集成测试运行在 Cloudflare Workers 测试池中,使测试环境更接近生产环境。

结论#

技术选型的价值不在于新,而在于边界是否清晰、部署是否稳定、维护是否可控。这套架构让我能独立完成从数据库到用户界面的整条链路,也能在需求增长时继续演进。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

我如何用 Cloudflare Workers 搭建一个完整的全栈博客
https://xiaoao-blog-firefly.pages.dev/posts/cloudflare-workers-full-stack-blog-architecture/
作者
小傲
发布于
2026-07-20
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
小傲
全栈开发者 · ACGN 爱好者 · 记录代码与生活
公告
欢迎来到小傲博客,文章与配置会持续更新。
分类
标签
站点统计
文章
4
分类
3
标签
6
总字数
2,002
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.15.6
文章许可
CC BY-NC-SA 4.0