API 設計 中階

WebSocket、Long Polling、SSE 的差異與適用情境

AI 練習作答

即時通訊技術比較

Short Polling

客戶端定時(如每 5 秒)發送請求詢問有無新資料 ❌ 高延遲、大量無效請求、伺服器壓力大

Long Polling

客戶端發出請求,伺服器 hold 住直到有新資料才回應 ✅ 比 Short Polling 即時 ❌ 每次回應後需重新建立連線

Server-Sent Events (SSE)

單向:伺服器推送至客戶端(HTTP/1.1 長連線) ✅ 簡單、支援自動重連、HTTP 相容 ❌ 僅單向,客戶端無法透過同連線發送

WebSocket

雙向、全雙工、持久連線(TCP) ✅ 最低延遲、高效、適合頻繁雙向通訊 ❌ 需要特殊 Load Balancer 設定(Sticky Session 或 Pub/Sub)

選擇指南

場景 推薦
聊天室、協作編輯 WebSocket
即時通知、Feed SSE
簡單輪詢(低頻) Long Polling
實時股票行情 WebSocket 或 SSE

面試加分:WebSocket 擴展挑戰(無狀態)可用 Redis Pub/Sub + 多節點解決(如 Socket.io 的 Redis Adapter)。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分