mybid
拍賣知識 · 10 分鐘閱讀 · 3 次閱讀

拍賣網站的 CDN 部署策略:讓全球買家都能秒開

深入解析拍賣網站的 CDN 部署策略,從節點選擇、快取規則到即時競標場景的特殊需求,附實務案例與效能數據。

一句話總結:拍賣網站的 CDN 不只是「加速靜態檔案」這麼簡單——圖片跟 CSS 可以狂快取,但出價 API 跟即時價格絕對不能快取,搞混這兩件事,你的買家看到的就是過期價格。

你有沒有遇過這種狀況?看到一件超想要的限量公仔,點進去頁面轉了三四秒還沒載完,等你看到目前價格準備出手,結果人家早就結標了。如果你是平台方,這種「慢」直接等於「少成交一筆」。

拍賣網站跟一般形象網站不一樣,它同時有大量圖片(商品照)、即時互動(出價更新)、全球買家(海外競標者)三個特性。CDN 部署不是開個 Cloudflare 就收工,裡面有不少眉角。

CDN 全球節點架構圖

CDN 是什麼?拍賣網站為什麼特別需要?

CDN(Content Delivery Network)是一套將網站內容分散到全球多個節點伺服器的網路架構,讓使用者從最近的節點取得資料,大幅縮短載入時間。 你可以把它想像成超商物流——與其讓每個買家都跑去台北倉庫取貨,不如在各縣市都設個取貨點。

一般部落格或企業官網,伺服器放台灣、流量也在台灣,其實不太需要煩惱 CDN。但拍賣網站不一樣,原因有三:

  1. 圖片量爆炸 — 一件拍品少說 5-10 張照片,一個中型拍賣平台上架 5,000 件商品,就是 2.5 萬到 5 萬張圖。沒有 CDN,你的主機頻寬會被吃光。
  2. 買家可能來自海外 — 台灣的二手精品、公仔、藝品在東南亞跟日本都有市場。東京到台北的網路延遲約 50-60ms,但到美西就是 150ms 起跳。CDN 能把這個差距壓到 20ms 以內。
  3. 尖峰流量集中 — 結標前 5 分鐘的流量可能是平常的 10-20 倍,CDN 幫你扛住這波突發流量,主機才不會掛。

根據 Akamai 的研究,頁面載入時間每增加 100ms,轉換率下降 7%。對拍賣網站來說,這個「轉換」就是出價——頁面慢 0.1 秒,可能就少了 7% 的出價機會。

拍賣網站的快取策略該怎麼分層?

快取策略是 CDN 部署的核心,而拍賣網站最容易踩雷的地方就是「什麼該快取、什麼不該快取」分不清楚。 我直接給一個分層表:

快取分層策略圖

資源類型 快取時間 說明
CSS / JS bundle 1 年(搭配檔名 hash) 檔案內容變了,hash 就變,等於自動失效
商品圖片 30 天 上架後幾乎不會改,大膽快取
分類頁 HTML 5-10 分鐘 新商品上架時需要更新,但不用秒級
商品詳情頁 1-2 分鐘(或 stale-while-revalidate) 價格區塊走 WebSocket 即時更新,頁面框架可以短快取
出價 API 完全不快取 這是即時資料,快取等於給買家看假價格
WebSocket 連線 不經過 CDN 走獨立的 WebSocket 伺服器

這裡有個很重要的觀念:商品詳情頁的「頁面框架」跟「即時價格」要分開處理。頁面的 HTML 骨架(商品描述、圖片、規格)可以快取,但目前最高價、出價次數這些即時資料,要透過 WebSocket 即時推送來更新,不能靠快取的 HTML。

stale-while-revalidate 是拍賣網站的好朋友

這個 HTTP 快取標頭的意思是「先給使用者看快取的舊版本,同時背景去拿最新的」。設定方式:

Cache-Control: public, max-age=60, stale-while-revalidate=300

白話翻譯:60 秒內直接用快取,60-360 秒之間先回快取但背景更新。對分類頁跟搜尋結果頁特別好用——使用者不用等,但資料也不會太舊。

節點怎麼選?台灣拍賣網站要佈幾個點?

節點選擇取決於你的買家分佈,不是越多越好,而是要「打到痛點」。 以一個主力在台灣、外擴東亞的拍賣平台為例,建議的節點配置:

優先順序 區域 原因
P0(必要) 台灣(台北、高雄) 主力市場,TTFB 目標 < 50ms
P1(重要) 日本東京、香港 二手精品跟公仔的重要買家來源
P2(擴展) 新加坡、美西 東南亞華人、北美海外買家

實際數據參考:某台灣拍賣平台在導入 CDN 前後的 TTFB(Time to First Byte)比較:

  • 台北用戶:380ms → 45ms(降 88%)
  • 東京用戶:620ms → 80ms(降 87%)
  • 洛杉磯用戶:1,200ms → 120ms(降 90%)

這些數字說明了一件事——CDN 對遠距離用戶的改善幅度最大。你的主機在台灣,美西買家不裝 CDN 就是要等 1.2 秒才看到第一個位元組,這在行動裝置上的體驗更是災難

即時出價場景的 CDN 要怎麼處理?

即時出價是拍賣網站最特殊的場景,CDN 在這裡的角色不是「加速」而是「別擋路」。 出價請求必須直接打到 Origin Server(源站),不能走 CDN 快取。

具體做法:

  1. API 路由分流 — 把 /api/bids/* 這類出價相關的路由設定為 Cache-Control: no-store,確保 CDN 直接 pass-through
  2. WebSocket 走獨立域名 — 比如 ws.mybid.tw,指向 Laravel Reverb 的 WebSocket 伺服器,完全不經過 CDN
  3. 圖片跟靜態資源走 CDN 域名 — 比如 cdn.mybid.tw,這些才是 CDN 該管的
mybid.tw          → 主站(HTML、API)
cdn.mybid.tw      → 靜態資源(圖片、CSS、JS)
ws.mybid.tw       → WebSocket(即時出價推送)

API 路由分流架構圖

這個三域名架構的好處是職責清楚:CDN 管它的靜態資源、WebSocket 管即時通訊、主站處理業務邏輯。不會出現「CDN 把出價 API 的回應快取起來,結果買家看到的是 3 分鐘前的價格」這種恐怖狀況。

CDN 供應商怎麼挑?成本怎麼算?

選 CDN 不用追最貴的,重點是看亞太節點的覆蓋率跟計費方式。 主流選擇比較:

供應商 亞太節點數 免費額度 每 GB 價格(亞太) 適合場景
Cloudflare 30+ 無限頻寬(Free plan) 免費 / Pro $20/月 中小型拍賣平台首選
AWS CloudFront 20+ 1TB/月(首年) ~$0.12 已用 AWS 的團隊
Bunny CDN 15+ 無(14天試用) ~$0.03 圖片量大、預算有限

以一個月流量 500GB 的拍賣平台估算:

  • Cloudflare Pro:$20/月(固定費用,不限流量)
  • AWS CloudFront:$60/月(500GB × $0.12)
  • Bunny CDN:$15/月(500GB × $0.03)

Cloudflare 的免費方案其實就夠大多數新創拍賣平台用了。它的 Free plan 不限流量,只是少了 WAF 進階規則跟圖片最佳化。等流量起來再升級 Pro 就好。

如果你還在評估要自架還是用第三方平台,CDN 也是需要考量的成本項目之一,可以參考自架 vs 第三方拍賣平台的完整比較

圖片最佳化 + CDN = 拍賣網站的加速組合拳

CDN 只是把圖片「搬得更近」,但如果圖片本身就太肥,再近也是慢。 兩者要搭配才有最大效果:

  1. 上傳時壓縮 — 原圖通常 3-5MB,壓到 200-400KB(WebP 格式)肉眼幾乎看不出差異
  2. CDN 端自動轉檔 — Cloudflare 的 Polish 功能會自動幫你把 JPEG 轉成 WebP,用戶端支援就送 WebP,不支援就送原格式
  3. 響應式圖片 — 手機看縮圖只需要 400px 寬,桌機看大圖才需要 1200px,善用 srcset 讓 CDN 回傳對應尺寸

一個具體案例:某二手精品拍賣平台,商品圖片原本平均 1.8MB(JPEG),導入 WebP 轉檔 + CDN 快取後:

  • 圖片平均大小:1.8MB → 280KB(降 84%)
  • 商品頁 LCP(Largest Contentful Paint):3.2s → 1.1s
  • 行動裝置跳出率:48% → 31%

這個跳出率的改善直接反映在成交數上——少 17% 的人跑掉,就是多 17% 的人有機會出價。

實戰案例:一個拍賣平台的 CDN 導入過程

我們用一個實際場景來走一遍。假設你有一個台灣的二手拍賣平台,主機在 GCP 台灣機房(asia-east1),目前沒有 CDN,月流量約 200GB,買家 85% 在台灣、10% 在日本港澳、5% 在其他地區。

第一步:選 Cloudflare Free plan

  • 把 DNS 指向 Cloudflare
  • 開啟「Auto Minify」壓縮 HTML/CSS/JS
  • 設定 Page Rule:/api/* 快取等級設為「Bypass」

第二步:靜態資源搬到 CDN 子域

  • 設定 cdn.mybid.tw 指向靜態資源 bucket
  • 圖片最佳化:上傳流程加入自動壓縮跟 WebP 轉檔
  • CSS/JS 打包加 content hash

第三步:快取規則調校

  • 商品圖片:Cache-Control: public, max-age=2592000(30天)
  • 分類頁:Cache-Control: public, max-age=300, stale-while-revalidate=600
  • API 路由:Cache-Control: no-store

第四步:監控跟調整

  • 用 Cloudflare Analytics 看快取命中率(目標 > 85%)
  • Core Web Vitals 監控 LCP、FID、CLS
  • 結標尖峰時段觀察 Origin 負載有沒有下降

FAQ

Q:CDN 會不會影響 SEO? 搜尋引擎不在意你的內容是從 CDN 還是源站回傳的,它只在意速度。Google 的 Page Experience 信號直接看 Core Web Vitals,CDN 讓你的頁面更快,SEO 只會更好。如果你想更深入了解拍賣網站的 SEO 最佳化策略,速度絕對是基本功。

Q:免費 CDN 撐得住拍賣網站的流量嗎? Cloudflare Free plan 不限流量,對月 PV 10 萬以下的平台綽綽有餘。但它的免費方案沒有 WAF 進階規則跟圖片最佳化功能,等你日流量破萬,建議升級 Pro($20/月)。

Q:CDN 掛了怎麼辦?買家會看到錯誤頁面嗎? 主流 CDN 都有 failover 機制。以 Cloudflare 為例,如果邊緣節點掛了,會自動回源(fallback to origin)。最怕的不是 CDN 掛,而是你的源站掛——所以源站的高可用(HA)才是真正要顧的。

Q:WebSocket 可以走 CDN 嗎? 技術上 Cloudflare 支援 WebSocket proxy,但不建議。WebSocket 是長連線,走 CDN 會增加不必要的跳數跟延遲。拍賣的即時出價要求延遲越低越好,WebSocket 直連源站最穩。


CDN 部署不是什麼高深技術,但對拍賣網站的體驗影響巨大。圖片秒開、頁面秒載,買家才有心情出價。花 20 分鐘設好 CDN,可能比你花 2 天改 UI 的效果還大。先把速度顧好,再來煩惱其他的——畢竟,連頁面都打不開的網站,設計再好看也沒人看得到

相關文章

拍賣付款方式全攻略:哪種最安全最划算

匯錯帳號、被詐騙私下轉帳、刷卡被收高額手續費——付款方式選錯,得標的喜悅馬上變成噩夢。五種常見付款方式的安全性和手續費,一次講清楚。

· 8 分鐘 · 5 次閱讀
閱讀 →

拍賣保證金是什麼:為什麼要付、怎麼退、注意事項

很多拍賣平台要求繳納保證金才能出價,搞懂保證金的用途、退還規則和注意事項,避免白白損失。

· 7 分鐘 · 9 次閱讀
閱讀 →

拍賣網站的無障礙設計:讓所有人都能參與競標

拍賣網站的無障礙設計不只是法規要求,更是擴大用戶群的商業策略

· 11 分鐘 · 11 次閱讀
閱讀 →