Jump to content

Staged event-driven architecture

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 139.149.31.230 (talk) at 10:12, 3 September 2013 (→‎References: update ref to Harvard, prev genmaint.com link broken). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The staged event-driven architecture (SEDA) refers to an approach to software architecture that decomposes a complex, event-driven application into a set of stages connected by queues.[1] It avoids the high overhead associated with thread-based concurrency models[clarify], and decouples event and thread scheduling from application logic. By performing admission control on each event queue, the service can be well-conditioned to load, preventing resources from being overcommitted when demand exceeds service capacity.

SEDA employs dynamic control to automatically tune runtime parameters (such as the scheduling parameters of each stage) as well as to manage load (like performing adaptive load shedding). Decomposing services into a set of stages also enables modularity and code reuse, as well as the development of debugging tools for complex event-driven applications.

References

  1. ^ "SEDA: An Architecture for Highly Concurrent Server Applications". Harvard University. Retrieved 2013-09-03. SEDA is an acronym for staged event-driven architecture, and decomposes a complex, event-driven application into a set of stages connected by queues.

Bibliography

See also