使命说这是职业目标的核心项目:要能解释"代码为什么能在离用户最近的节点上跑起来"。 但如果不先分清它和云函数的差别,后面所有原理(隔离模型、冷启动、CDN 分发)都无处挂靠。
Cloudflare 提供了一个自检端点,直接告诉你答案(实测输出来自你这台机器):
curl -s https://www.cloudflare.com/cdn-cgi/trace | grep -E "^(colo|loc|ip|tls|http)="
# colo=LAX ← 处理你请求的边缘节点:洛杉矶
# loc=US ← 你的出口 IP 被识别为美国
# ip=45.43.58.176
# tls=TLSv1.3
# http=http/1.1
先读你自己的数字:你在国内,但 colo=LAX ——
说明你的流量出口在美国(走了代理链路)。这正是"边缘节点选择取决于用户到节点的网络位置"的活例子:
边缘计算优化的不是"服务器有多快",而是"服务器离你多近"。
再量一次"近与远的差别"(实测):
for u in https://www.cloudflare.com/cdn-cgi/trace https://example.com; do
printf "%-46s " "$u"
curl -s -o /dev/null -w "connect=%{time_connect}s total=%{time_total}s\n" -m 20 "$u"
done
# Cloudflare 边缘:connect=0.0079s total=0.832s
# example.com: connect=0.0189s total=2.112s
新建 10-项目/2027-掌握边缘函数原理/边缘函数与云函数对比.md,填满这六行 ——
每一行的判据都从官方文档里找,不要凭印象:
| 维度 | 边缘函数 | 云函数(传统 Serverless) |
|---|---|---|
| 运行位置 | 全球数百节点,就近执行 | 少数区域机房 |
| 启动速度要求 | 毫秒级(否则每个请求都在等) | 百毫秒~秒级可接受 |
| 资源上限 | 严格(CPU 时间/内存/包体积) | 宽松(可配到 GB 级内存) |
| 状态与存储 | 靠外部 KV/对象存储,强一致性难 | 可接常规数据库,事务容易 |
| 适合什么 | 重定向、鉴权、A/B、轻量 API、图片处理 | 重计算、长任务、批处理、有状态服务 |
| 不适合什么 | 重计算、长连接、需要本地磁盘 | 对全球延迟敏感的就近逻辑 |
最后加一行:「我自己的哪一类需求适合它?」 —— 写你自己的答案(例如"给海外用户做地区重定向与轻量鉴权")。
1. 边缘函数优化的核心是什么?
对。它买的是"距离"(省掉用户到区域机房的往返),不是单机算力。体积小、启动快都是为这个目标服务的手段。
2. 下列哪件事最不适合放在边缘函数里?
对。边缘侧有 CPU 时间与内存上限,长任务会被直接掐断;重计算应该放回区域或专用算力。其余三项都是边缘函数的典型用法。
3. colo=LAX 说明了什么?
对。colo 是"处理这次请求的边缘节点代码"。你的出口 IP 被判为美国,所以就近选了 LAX —— 这正说明节点选择看的是你到节点的网络位置。