[ PROMPT_NODE_24296 ]
Smart Placement 说明文档
[ SKILL_DOCUMENTATION ]
# Cloudflare Workers 智能放置 (Smart Placement)
通过将 Workers 运行在更靠近后端基础设施而非终端用户的位置,自动优化工作负载放置以减少延迟。
## 核心概念
智能放置会自动分析 Worker 在 Cloudflare 全球网络中的请求持续时间,并智能地将请求路由到最佳数据中心位置。智能放置不会默认选择离用户最近的位置,而是在能降低整体请求持续时间的情况下,将请求转发到更靠近后端基础设施的位置。
### 何时使用
**在以下情况启用智能放置:**
- Worker 需要多次往返后端服务/数据库
- 后端基础设施在地理位置上较为集中
- 请求持续时间主要由后端延迟而非用户网络延迟决定
- 在 Workers 中运行后端逻辑(API、数据聚合、带数据库调用的 SSR)
- Worker 使用 `fetch` 处理程序(而非 RPC 方法)
**在以下情况请勿启用:**
- 仅提供静态内容或缓存响应的 Workers
- 没有大量后端通信的 Workers
- 纯边缘逻辑(身份验证检查、重定向、简单转换)
- 没有 fetch 事件处理程序的 Workers
- 使用 RPC 方法或命名入口点的 Workers(仅 `fetch` 处理程序受影响)
- 设置了 `run_worker_first = true` 的 Pages/Assets Workers(会降低资产服务性能)
### 决策树
你的 Worker 是否有 fetch 处理程序?
├─ 否 → 智能放置无效 (跳过)
└─ 是
│
是否进行了多次后端调用 (数据库/API)?
├─ 否 → 不要启用 (无帮助)
└─ 是
│
后端是否在地理位置上集中?
├─ 否 (全球分布) → 可能无帮助
└─ 是或不确定
│
是否通过 run_worker_first=true 提供静态资产?
├─ 是 → 不要启用 (会损害性能)
└─ 否 → 启用智能放置
│
15分钟后,检查 placement_status
├─ SUCCESS → 监控指标
├─ INSUFFICIENT_INVOCATIONS → 需要更多流量
└─ UNSUPPORTED_APPLICATION → 禁用 (损害性能)
### 关键架构模式
**推荐:** 将全栈应用拆分为独立的 Workers:
用户 → 前端 Worker (在边缘,靠近用户)
↓ 服务绑定
后端 Worker (启用智能放置,靠近数据库/API)
↓
数据库/后端服务
这既能保持快速、响应灵敏的前端,又能优化后端延迟。
## 快速开始
c
// wrangl