階段式伺服器模型

SEDA[1](staged event-driven architecture),中文譯為階段事件驅動架構,也稱為階段式伺服器模型。這是一類軟體架構模型,它將複雜的、事件驅動的應用分解為一系列通過隊列連接的階段。該模型避免了基於執行緒的並發模型所帶來的高負載問題,同時將事件與執行緒調度從應用邏輯中解耦。通過對每個隊列實施准入控制,使服務得以狀態良好地加載。當需求大於服務能力時,能夠防止資源過度使用。

SEDA 通過動態控制,自動地對運行時參數進行調優(例如每個階段的調度參數),並對負載進行管理(例如執行自適應減載)。它將服務分解為一系列階段也有利於模塊化代碼復用(例如為複雜的事件多驅動應用開發的調試工具)。

參考文獻

編輯
  1. ^ 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.

外部連結

編輯