Staged event-driven architecture
Appearance
The staged event-driven architecture (SEDA) refers to an approach to
event queue
, the service can be well-conditioned to load, preventing resources from being overcommitted when demand exceeds service capacity.
SEDA employs
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.
See also
References
- ^ "An Architecture for Highly Concurrent, Well-Conditioned Internet Services" (PDF). University of California at Berkeley. Archived from the original (PDF) on 2012-07-04. Retrieved 2023-03-02.
By partitioning an application into a set of stages with explicit queues between them, application designers can focus on the service logic and concurrency management for individual stages, "plugging" them together into a complete service later. Queues decouple the execution of each stage, allowing stages to be developed independently..
Bibliography
- Welsh, Matt; Culler, David; Brewer, Eric (December 2001), "SEDA: an architecture for well-conditioned, scalable internet services" in "SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles" (1st ed.), ISBN 978-1-58113-389-9
External links
- Apache ServiceMix provides a Java SEDA wrapper, combining it with related message architectures (JCA& straight-through flow).
- JCyclone: Java open source implementation of SEDA
- Mule ESB is another open-source Java implementation
- SEDA: An Architecture for Highly Concurrent Server Applications describing the PhD thesis by Matt Welsh from Harvard University
- A Retrospective on SEDA by Matt Welsh, July 26, 2010