Skip to content
返回云服务

边缘计算 vs 源站计算

何时在边缘(Cloudflare Workers、Vercel Edge、Fastly Compute@Edge)vs 区域源站(Lambda、App Service、VPS)运行代码。

云服务对比进阶

为什么

边缘计算在数百个靠近用户的 POP 运行(全球亚 50 毫秒)冷启动极小,适合认证、重写、个性化和小 API 调用。源站计算在单区域运行完整运行时(Node、Python、数据库连接)但远用户延迟高。

边缘受限(无数据库池、小内存);源站无限。

何时使用

必须各地都快 的每请求逻辑(认证令牌、A/B 路由、地理重定向、功能开关)用边缘。有状态工作(数据库事务、重计算、长作业、机器学习推理)用源站。

混合:边缘做认证+路由,源站做真正工作 —— 这是现代模式。

如何做

1. 识别延迟敏感的每请求逻辑(认证、路由、个性化)。 2. 移到边缘函数(Workers、Vercel Edge、Fastly)。 3. 有状态/重逻辑放区域源站(Lambda、App Service、VPS)。 4. 边缘调源站取数据;边缘缓存响应。 5. 用全局数据库边缘读取(Turso、D1)或边缘到源站写入。 ```text 边缘(Workers):认证 → 检查 JWT → 路由到源站或服务缓存 源站(Lambda): 数据库查询 → 业务逻辑 → 响应 ```

示例

验证 JWT 并缓存源站响应的边缘函数(Cloudflare Workers): ```ts // workers/api.ts export default { async fetch(req, env) { const token = req.headers.get("Authorization")?.slice(7); const claims = await validateJwt(token); // WebCrypto,无 Node if (!claims) return new Response("unauthorized", { status: 401 }); const cache = caches.default; const key = new Request(req.url, req); let res = await cache.match(key); if (!res) { res = await fetch(env.ORIGIN_URL + "/api/data", { headers: { Authorization: token } }); res = new Response(res.body, res); res.headers.set("Cache-Control", "s-maxage=60"); ctx.waitUntil(cache.put(key, res.clone())); } return res; }, }; ``` 边缘处理认证+缓存(全球亚 50 毫秒);源站每缓存窗口做一次数据库工作。

常见问题

  • ⚠边缘无法保持数据库连接(V8 隔离无 TCP 池)—— 用基于 HTTP 的数据库(Turso、D1、PlanetScale HTTP API)或调源站做数据库工作。
  • ⚠边缘运行时缺 Node 内置 —— polyfill 或将逻辑移到源站;编写前查运行时 API 列表。
  • ⚠边缘+源站使可观测性面翻倍 —— 用分布式追踪头(traceparent)和一个摄入两者的 APM(Datadog、Honeycomb)。

最佳实践

  • ✓认证、路由和 A/B 放边缘(各地都快);数据库事务和重计算放区域源站 —— 混合是最佳点。
  • ✓边缘用 s-maxage 缓存源站响应,使源站每缓存窗口每区域命中一次,而非每用户。
  • ✓读取用全局边缘数据库(D1、Turso),使边缘简单查询无需调源站。

常见问题解答

什么是边缘计算 vs 源站计算?它解决什么问题?

何时在边缘(Cloudflare Workers、Vercel Edge、Fastly Compute@Edge)vs 区域源站(Lambda、App Service、VPS)运行代码。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手边缘计算 vs 源站计算?

两步即可跑通:① 识别延迟敏感的每请求逻辑(认证、路由、个性化)。;② 移到边缘函数(Workers、Vercel Edge、Fastly)。。建议先用免费套餐验证流程,再接入生产环境。

边缘计算 vs 源站计算 最容易踩的坑是什么?

最高频的问题是:边缘无法保持数据库连接(V8 隔离无 TCP 池)—— 用基于 HTTP 的数据库(Turso、D1、PlanetScale HTTP API)或调源站做数据库工作。。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

边缘计算 vs 源站计算 的最佳实践有哪些?

边缘计算 vs 源站计算 的最佳实践包括:认证、路由和 A/B 放边缘(各地都快);数据库事务和重计算放区域源站 —— 混合是最佳点。;边缘用 s-maxage 缓存源站响应,使源站每缓存窗口每区域命中一次,而非每用户。;读取用全局边缘数据库(D1、Turso),使边缘简单查询无需调源站。。其中首条「认证、路由和 A/B 放边缘(各地都快);数据库事务和重计算放区域源站 —— 混合是最佳点。」应作为团队默认规范写入 IaC 模板。

边缘计算 vs 源站计算 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。边缘计算 vs 源站计算 多数提供免费套餐,先在免费额度内验证再放量。