單機 vs 集群本質區別
Tomcat 等 Web 容器僅支持 Web 層負載均衡,擴展性有限。真正的 J2EE 集群依賴 EJB 容器提供的狀態複製、負載均衡、故障轉移能力。
主流廠商集群策略對比
| 廠商 | 策略 | 特點 |
| WebLogic / JBoss | 配對服務器 | 主備雙節點互為備份,狀態同步快,對負載均衡器算法要求高(需會話親和性)。 |
| IBM WebSphere | 中心狀態服務器 | 專用狀態服務器存儲 Session/EJB 狀態,單點風險需 HA 保護。 |
| Sun ONE / GlassFish | HADB 數據庫複製 | 高可用數據庫存儲狀態,強一致性,延遲稍高。 |
核心服務集群原理
- JNDI:集群統一命名空間,客戶端查找自動路由到可用節點。
- EJB:Home/Remote 接口代理實現負載均衡與故障轉移;Stateful Session Bean 需狀態複製。
- JMS:分布式隊列/主題,消息在集群節點間轉發,保證一次投遞。
遷移陷阱:單機不等於集群
- HttpSession:必須序列化、配置黏性 Session 或複製。
- 緩存/單例:需改為分布式緩存(如 JCache、Redis)。
- 文件系統/定時任務:避免多節點重複執行,需協調機制(Quartz 集群模式)。
- 事務邊界:分布式事務(JTA/XA)性能開銷大,評估是否必要。
架構選型哲學
- 集群架構與單機架構本質不同,選型前必須深入理解目標產品的集群實現細節。
- 第三方框架(Spring、Jdon 等)必須驗證集群兼容性。
- 不盲目追求「分布式一切」:優先使用同 JVM 內 EJB(共置優化),減少網絡開銷。
- 設計與性能並重,SOA 亦同:善於平衡才是架構師核心價值。
- 上一篇文章: 使用 mod_security 保護 Web Services 安全(二):規則實戰
- 下一篇文章: Apache POI 操作 Excel 完全指南(一):HSSF Usermodel 讀寫基礎
Copyright ©
程式碼之家 All Rights Reserved