雙籠體育的舊後端是用 Prisma + NextAuth + Next.js 這套組合搭起來的,部署在 Vercel 上。老實說一開始用起來真的很爽,工具成熟、社群大、文件也齊全,開發速度沒話講。
問題是流量一上來,一個很現實的毛病就浮出檯面了:Prisma 的冷啟動。
每次 Serverless 函式從閒置狀態被叫醒,Prisma Client 光是初始化就要吃掉不少時間,延遲直接飆高,Vercel 的 Active CPU 用量也跟著爆。錢燒得快,使用者體驗又差,尖峰時段特別明顯。試過調參數、調設定,該試的都試了,但很快就發現這根本不是能靠微調解決的事——這是架構本身的天花板。
一開始我們想說乾脆搬去 Cloudflare Workers,靠邊緣運算把冷啟動這個問題直接繞過去。結果一動手才發現,原本這套技術棧幾乎每個核心元件都跟 Edge Runtime 八字不合:
Prisma 跟 Edge Runtime 不對盤
Prisma Client 底層依賴 Node.js 的原生模組,這在 Cloudflare Workers 的 V8 隔離環境裡根本跑不動。後來官方是有推出 Prisma Accelerate 想補這個洞,但等於又多包了一層複雜度跟成本,感覺是在治標。
Next.js App Router 也卡邊緣限制
Next.js 骨子裡還是以 Node.js 為出發點設計的,雖然有 Edge Runtime 這個選項,但一堆套件、功能碰上去就是不相容,真要硬遷移,成本高到不太划算。
NextAuth 的邊緣相容性也是個坑
它有些依賴項天生就跑不進 Edge Runtime,Session 管理那套邏輯設計時根本沒把邊緣環境算進去。
乾脆全部重選
打補丁打不完,那就從頭來過。這次我們的原則很簡單:每一層都選天生就是為邊緣運算而生的工具。
- 舊的是 Next.js(全端)+ Prisma ORM + NextAuth + Vercel Serverless
- 新的換成 TanStack Start + Drizzle ORM + Better Auth + Cloudflare Workers。
數字說話
冷啟動延遲的差距其實蠻誇張的。Cloudflare Workers 平均在 10ms 以內,最差也就 50ms 左右;Vercel Functions 平均要 200ms,最慘的時候飆到 1.5 秒。這差距不是一點點。
ORM 這邊也一樣。Prisma 的冷啟動大概落在 80–150ms,Drizzle 只要 50–100ms。Bundle size 差更多,Prisma 大概 1.6MB,Drizzle 只有 57KB 左右,體積少了九成六。
TanStack Start 是以 TanStack Router 為核心的全端框架,跟 Vite 整合得很自然,對邊緣環境很友善,也不會綁死在特定平台上。Drizzle ORM 輕量、型別安全,丟進 Edge Runtime 裡跑起來完全沒有 Prisma 那種笨重的初始化包袱。Better Auth 則是專門為現代 TypeScript 專案打造的認證方案,邊緣環境支援得很完整,設定也彈性很多。
這三個湊在一起,總算讓我們的後端能真正跑在 Cloudflare Workers 上,吃到全球邊緣網路的低延遲,冷啟動問題也算是從根本上解決掉了。
AI 這次幫了不少忙
這次重建不只是換技術棧而已,開發方式上我們也做了一次實驗——大量靠 AI 加速整個遷移過程。從一開始的架構討論、寫程式碼、到最後整理技術文件,Claude Opus 4.8 幾乎全程都有參與。
這次專案實際跑下來,Token 用量大概是:
- Input 201k、
- Output 19M、
- Cache Read 785M、
- Cache Write 20.2M,
- 總花費約 18,366.34 元台幣。
Cache Read 那個數字特別大,其實反映了我們的用法——我們把整個專案的技術規格、資料庫 Schema、設計決策文件全都放進 context 裡,讓每次對話都是在完整理解專案的前提下進行,不用每次重講一遍背景,AI 給出來的東西品質也明顯好很多。
尤其是研究新框架、處理惱人的型別問題、寫遷移腳本這幾塊,靠 AI 省下的時間真的不少。
接下來
新版後端目前還在開發測試階段,我們正在把每個功能在新架構上跑穩,也在驗證 Cloudflare Workers 環境下各種邊際情況。
目前的進度:架構決策已經完成(TanStack Start + Drizzle + Better Auth 的可行性也驗證過了),核心功能正在遷移中(用戶認證、資料層、API 端點都在搬),接下來是全面整合測試、效能基準測試跟邊緣環境相容性驗證,最後才會正式重新上線。
知道等待很煩,但這次我們是真心想把事情做對,不只是求快。新版雙籠體育不只是換個技術棧而已,是整個產品體驗的一次重新出發。
謝謝一直支持雙籠體育的大家,我們很快見。


