阶段式服务器模型

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.

外部链接

编辑