階段式伺服器模型
此條目或其章節極大或完全地依賴於某個單一的來源。 (2010年3月8日) |
SEDA[1](staged event-driven architecture),中文譯為階段事件驅動架構,也稱為階段式伺服器模型。這是一類軟件架構模型,它將複雜的、事件驅動的應用分解為一系列通過隊列連接的階段。該模型避免了基於線程的並發模型所帶來的高負載問題,同時將事件與線程調度從應用邏輯中解耦。通過對每個隊列實施准入控制,使服務得以狀態良好地加載。當需求大於服務能力時,能夠防止資源過度使用。
SEDA 通過動態控制,自動地對運行時參數進行調優(例如每個階段的調度參數),並對負載進行管理(例如執行自適應減載)。它將服務分解為一系列階段也有利於模塊化與代碼復用(例如為複雜的事件多驅動應用開發的調試工具)。
參考文獻
- ^ SEDA: An Architecture for Well-Conditioned, Scalable Internet Services, Matt Welsh, David Culler, and Eric Brewer. In Proceedings of the Eighteenth Symposium on Operating Systems Principles (SOSP-18), Banff, Canada, October, 2001.
外部連結
- SEDA: An Architecture for Highly Concurrent Server Applications from Harvard University