首要判斷:連接類型
- 短連接(HTTP API、網頁請求):連接建立→請求→響應→關閉,頻繁建銷。
- 長連接(IM、推送、WebSocket):連接持久,心跳保活,併發連接數大但單連接閒置多。
架構選型
| 類型 | 推薦模型 | 核心組件 | 說明 |
| 短連接 | 線程池 + 阻塞 IO | Tomcat/Jetty/Netty (NIO 也可) | 請求處理快,線程池復用線程,避免頻繁創建銷毀開銷 |
| 長連接 | NIO 事件驅動 | Netty、Mina、gNetty | 單線程管理萬級連接,避免線程上下文切換爆炸 |
關鍵調優點
- 應用伺服器:調整線程池大小、連接佇列、Keep-Alive 參數;啟用壓縮、快取靜態資源。
- 帶寬:估算峰值流量(如 10 萬 QPS × 平均封包 2KB ≈ 200MB/s ≈ 1.6Gbps),預留 2 倍冗余,選用 BGP 多線。
- 應用程式:無狀態設計、非同步處理、資料庫連接池調優、快取策略(Redis Cluster)。
- 資料庫:讀寫分離、分庫分表、索引優化、慢查詢分析、連接池大小匹配應用線程池。
硬體建議
多機房部署、LVS/Nginx 四層負載、Keepalived 高可用、CDN 加速靜態資源。