Skip to content
系列
27 篇文章

Cloudflare Edge Platform

Cloudflare Edge Platform 系列文章

Cloudflare Edge Platform 導讀:把網站和 app 跑在 Cloudflare 上

Cloudflare Edge Platform 這條系列回答一個產品問題:怎麼用 Workers、D1、KV、R2、Durable Objects、Queues、Workflows、Cache、Images、Email、Turnstile、Observability、Browser Run、Containers,把網站或 app 跑起來、跑穩、跑便宜。

Cloudflare Workers:不是 Lambda,不是容器,是 V8 Isolate

Cloudflare Workers 用 V8 Isolate 取代容器,沒有 cold start,全球邊緣部署,透過 Bindings 接 D1、R2、KV、AI。適合 API、SSR、輕量後端,不適合 CPU 密集的工作。

Hono:為 Edge Runtime 而生的輕量 Web Framework

Hono 是專為 Cloudflare Workers、Deno、Bun 等 edge runtime 設計的 Web framework,比 Express 輕一個數量級,原生支援 Web Standard API,是 edge 環境下的首選。

@opennextjs/cloudflare:把 Next.js 跑在 Cloudflare Workers 上

@opennextjs/cloudflare 讓 Next.js App Router 部署到 Cloudflare Workers,動態 SSR 走 Worker,靜態資源走 Cloudflare Assets。沒有 server 管理成本,但有明確的功能限制。

Cloudflare D1:跑在邊緣的 SQLite 關聯式資料庫

D1 是 Cloudflare 的 serverless SQLite 資料庫,直接綁定 Workers,支援完整 SQL(JOIN、transaction)、自動備份。適合中小規模的關聯式資料需求,NobodyClimb 把它當主資料庫用。

Cloudflare KV:全球邊緣的 Key-Value Store

KV 是 Cloudflare 的全球分散式 key-value store,讀取從最近的邊緣節點回應,延遲極低。適合快取、feature flag、暫態資料,但寫入是最終一致性。

Cloudflare R2:零 Egress 費用的 S3 替代方案

R2 是 Cloudflare 的物件儲存,S3 相容 API、零 egress 費用、Workers 原生 binding。媒體密集的應用不用再擔心流量帳單。

Cloudflare Durable Objects:讓 Workers 有狀態、協調與 WebSocket 的那塊拼圖

Durable Objects 把一個 name 或 ID 對到全球唯一、單執行緒、帶私有 SQLite storage 的 actor。它適合 per-room、per-user、per-tenant、per-run 這種需要強一致協調的邊界;真正的設計題是 object key 要切在哪裡。

Cloudflare Queues:把 Workers request 拆成可重試、可批次的背景工作

Cloudflare Queues 是 Workers 旁邊的 message queue:producer 把慢工作寫進 queue,consumer 用批次、ack/retry、delay 與 DLQ 處理失敗。它適合單步背景工作;流程需要記住多步驟狀態時,下一篇要看 Workflows。

Cloudflare Workflows:把多步驟流程跑到完成

Cloudflare Workflows 把 Workers 上的多步驟流程拆成可持久化的 step:每個 step 可以 retry、sleep、waitForEvent、rollback,instance 可以查狀態、暫停、恢復或終止。Queues 適合單步背景工作;Workflows 適合要記住進度的長流程。

Cloudflare Hyperdrive 怎麼用:讓 Workers 接上既有 Postgres / MySQL

Hyperdrive 解的是 Workers 連到既有 Postgres / MySQL 的延遲與連線池問題。它用 edge connection setup、靠近資料庫的 connection pool、read query cache,讓單區資料庫比較適合被全球 Workers 存取。

Cloudflare Cache Rules:什麼該快取,什麼要保持動態

Cloudflare Cache Rules 是 zone 層的快取政策:用 request expression 決定哪些內容 eligible for cache、Edge TTL/Browser TTL 怎麼算、cache key 包哪些維度,以及遇到 stale、ETag、purge 時怎麼處理。它適合管理 CDN 快取規則;Worker Cache API 則適合程式化存取。

Cloudflare Smart Shield 怎麼用:讓 Origin 少扛一點流量

Smart Shield 是 Cloudflare 的 origin protection bundle:用 Smart Tiered Cache、connection reuse、Argo Smart Routing、Regional Tiered Cache、Cache Reserve、Health Checks 和 Dedicated CDN Egress IPs,減少打到 origin 的 request 與 connection。

Cloudflare Images 怎麼用:圖片變體、格式轉換與交付管線

Cloudflare Images 有兩條路:把 R2/S3/origin 圖片拿來做 edge transformations,或直接把圖片存進 Images 再用 variant delivery。前者按 unique transformations 看成本,後者還要看 stored 和 delivered images。

Cloudflare Email Service 怎麼用:讓 Workers 寄信、收信與處理產品通知

Cloudflare Email Service 把產品常見的交易信、magic link、通知與收信 routing 接進 Workers。寄任意收件人目前需要 Workers Paid;收信 routing 可在 Free/Paid 使用,但仍要注意 DNS、配額、message size、bounce 和 anti-spam 邊界。

Cloudflare Turnstile 怎麼用:保護表單與公開 API,不靠傳統 CAPTCHA

Turnstile 是 Cloudflare 的 CAPTCHA 替代方案:前端 widget 產生 token,後端必須用 Siteverify API 驗證。token 有效 300 秒、只能驗一次;只放 widget 不驗 token,等於沒有完成防護。

Cloudflare Observability 怎麼用:Workers Logs、Traces 與 Analytics Engine 的分工

Workers Observability 負責 debug 和 request tracing;Workers Analytics Engine 負責高基數產品事件與自訂 metrics;GraphQL Analytics API 則查 Cloudflare 既有產品資料。把三者分清楚,才不會把 log 當資料庫,也不會把 billing、monitoring、產品分析混在一起。

Cloudflare Browser Run 怎麼用:在 Workers 上跑 headless Chrome

Browser Run 讓 Workers 使用 Cloudflare 管理的 headless Chrome。Quick Actions 適合 screenshot、PDF、HTML、JSON、crawl 這類單次任務;Browser Sessions 則適合 Puppeteer、Playwright、CDP、Stagehand 這類需要完整控制的 automation。

Cloudflare Containers 怎麼用:當 Workers 需要完整 Linux runtime

Cloudflare Containers 讓 Workers app 呼叫 on-demand serverless container,適合需要完整 filesystem、特定 runtime、既有 container image、更多 CPU/memory/disk 的工作。它不取代 Workers;Worker 保留入口與 routing,container 處理 runtime 太重的那段。

Cloudflare Edge Platform 上線前檢查:自訂網域、維護頁與 Workers limits

Cloudflare app 上線前不要只看 deploy 成功。Custom Domains、Routes、www/root redirect、維護頁、CPU/memory/subrequest limits、log sampling、fallback path 都要先檢查。這篇把 Edge Platform 系列裡的 production pitfall 收斂成一份 checklist。

ai guide Cloudflare AI Stack

Cloudflare AI Gateway 怎麼用:Logging、Cache、Rate Limit 與 Fallback

AI Gateway 解的是 AI 呼叫的控制問題:同一層處理 logs、analytics、cache、rate limit、retry/fallback、BYOK 與 Unified Billing。Workers 內可用 env.AI.run(..., { gateway }),外部 SDK 則改 baseURL 或 provider-native endpoint。

ai guide Cloudflare AI Stack

Cloudflare Vectorize 怎麼用:自己掌控 RAG Retrieval 的時候

Vectorize 是 Cloudflare 的向量資料庫。AI Search 適合先把 RAG pipeline 交給平台;Vectorize 適合你要自己控制 chunking、embedding、metadata filter、hybrid retrieval、重新索引與降級策略。

ai guide Cloudflare AI Stack

Cloudflare Agents 怎麼用:durable agent runtime、工具與即時連線

Cloudflare Agents 把 agent session 做成 durable runtime:每個 agent instance 有穩定 identity、local SQLite、WebSocket、scheduled work、recoverable execution 和 tools。它不只是聊天範例;真正處理的是怎麼把 Workers、Durable Objects、AI model、Browser、Sandbox、AI Search、MCP 接成可部署的 agent app。

Cloudflare AI Search 怎麼用:資料來源、混合檢索與 Workers 綁定的完整解析

前身 AutoRAG 的託管搜尋原語:丟文件進內建儲存或綁 R2/網站,自動走 Markdown 轉換、切分與向量加 BM25 索引,透過 hybrid 加 RRF 加 rerank 檢索,並以 namespace 與 instance 兩種綁定或 REST 與 MCP 在 Worker 與 Agent 內查詢。

ai guide Cloudflare AI Stack

Cloudflare Secrets Store 怎麼用:Workers secret reuse 與 AI Gateway BYOK

Secrets Store 是 Cloudflare 的 open beta account-level secret store,目前整合 Workers 和 AI Gateway。它適合把 provider API keys、BYOK key、跨 Worker 共用 secret 集中管理;per-Worker secret 仍可用,但治理範圍不同。

ai guide Cloudflare AI Stack

Cloudflare AI app 資料怎麼放:D1、R2、Durable Objects 的分工

AI app 不該把 conversation、artifact、memory、retrieval document、lock、eval trace 全塞進同一個 storage。D1 適合查詢與產品資料,R2 適合大型檔案與 artifact,Durable Objects 適合具名協調、WebSocket、per-session state;Agent Memory / AI Search / Vectorize 則分別處理記憶與檢索。

tech guide Cloudflare AI Stack

Cloudflare Workers AI binding 全貌:不只是 run()

env.AI 這個 binding 不是只有 run()。它還掛了 toMarkdown(文件轉 Markdown)、autorag(託管 RAG)、gateway(外部 provider 代理)、models(metadata 查詢)。認識這四組方法,才能在 Workers 上把 Cloudflare 當完整的 AI 平台用。