El organizaron arquitectura orientada a eventos ( SEDA ) se refiere a un enfoque de la arquitectura de software que se descompone un complejo, orientado a eventos de aplicación en un conjunto de etapas conectadas por las colas. [1] Evita la alta sobrecarga asociada con los modelos de concurrencia basados en subprocesos (es decir, bloqueo, desbloqueo y sondeo de bloqueos) y desacopla la programación de eventos y subprocesos de la lógica de la aplicación. Al realizar el control de admisión en cada cola de eventos , el servicio puede acondicionarse bien para cargar, evitando que los recursos se comprometan en exceso cuando la demanda excede la capacidad del servicio.
SEDA emplea control dinámico para ajustar automáticamente los parámetros de tiempo de ejecución (como los parámetros de programación de cada etapa), así como para administrar la carga (como realizar una reducción de carga adaptativa ). La descomposición de los servicios en un conjunto de etapas también permite la modularidad y la reutilización del código , así como el desarrollo de herramientas de depuración para aplicaciones complejas controladas por eventos.
Ver también
Referencias
- ^ "SEDA: una arquitectura para aplicaciones de servidor altamente concurrentes" (PDF) . Universidad de Harvard . Consultado el 3 de septiembre de 2013 .
SEDA es un acrónimo de arquitectura impulsada por eventos por etapas y descompone una aplicación compleja impulsada por eventos en un conjunto de etapas conectadas por colas.
Bibliografía
- Galés, Matt; Culler, David; Brewer, Eric (diciembre de 2001), "SEDA: una arquitectura para servicios de Internet escalables y bien acondicionados" en "Actas de SOSP '01 del decimoctavo simposio ACM sobre principios de sistemas operativos" (1ª ed.), Association for Computing Machinery , págs. . 230–243, ISBN 978-1-58113-389-9
enlaces externos
- Apache ServiceMix proporciona un contenedor Java SEDA, combinándolo con arquitecturas de mensajes relacionadas ( JMS , JCA y flujo directo).
- JCyclone : implementación de código abierto Java de SEDA
- Mule ESB es otra implementación de Java de código abierto
- SEDA: una arquitectura para aplicaciones de servidor altamente concurrentes que describe la tesis de doctorado de Matt Welsh de la Universidad de Harvard
- Una retrospectiva sobre SEDA por Matt Welsh, 26 de julio de 2010