Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Architecture.
Angela Acosta
Juan Pablo Caro
Es un patrón de arquitectura de software para lograr la escalabilidad lineal de
aplicaciones de alto rendimiento con estado utilizando el paradigma del espacio
de tuplas. Con esta arquitectura las aplicaciones se construyen a partir de un
conjunto de unidades autosuficientes, conocidas como unidades de
procesamiento (PU). Estas unidades son independientes entre sí, por lo que la
aplicación puede escalar agregando más unidades.
El patrón de arquitectura basada en el
espacio esta diseñado específicamente para
abordar y resolver problemas de
escalabilidad y concurrencia.
También es un patrón de arquitectura de uso
completo para aplicaciones que tienen
volúmenes de usuarios concurrentes,
variables e impredecibles.
La alta escalabilidad se logra
eliminando la restricción de la base
de datos central y utilizando en su
lugar cuadrículas de datos
replicados en memoria.
La arquitectura basada en el espacio
está diseñada para evitar el colapso
funcional bajo una gran carga al dividir
tanto el procesamiento como el
almacenamiento entre múltiples
servidores.
La arquitectura basada en el espacio está diseñada con el objetivo de
capacitar a los sistemas de software para que funcionen incluso
bajo la gran cantidad de usuarios. Esto se logra dividiendo tanto el
procesamiento como el almacenamiento entre varios
servidores. Los datos se distribuyen en muchos nodos.
Los datos de la aplicación se guardan en la memoria y se replican entre
todas las unidades de procesamiento activas. Las unidades de
procesamiento pueden iniciarse y apagarse dinámicamente a medida
que aumenta y disminuye la carga de usuarios, abordando así la
escalabilidad variable. Debido a que no hay una base de datos central, se
elimina el cuello de botella de la base de datos, lo que proporciona una
escalabilidad casi infinita dentro de la aplicación.
Ventajas
Un modelo de servicios livianos que puede tomar cualquier implementación estándar de Java y convertirla
en un servicio distribuido débilmente acoplado. El modelo es ideal para la interacción con servicios que se
ejecutan dentro de la misma unidad de procesamiento.
Componentes Descripción
Cuadricula de mensajería Maneja el flujo de transacciones entrantes, así
como la comunicación entre servicios
Cuadricula de datos Administra los datos en la memoria distribuida
con opciones para sincronizar esos datos con
una base de datos subyacente
Rejilla de procesamiento Componente de procesamiento paralelo basado
en el patrón maestro / trabajador (también
conocido como patrón de pizarra ) que permite el
procesamiento paralelo de eventos entre
diferentes servicios
Consideraciones
• El patrón de arquitectura basada en el espacio es costosa de implementar.
Testeabilidad
Calificación: baja
Análisis: Lograr cargas de usuarios muy altas en un entorno de prueba
es costoso y requiere mucho tiempo, lo que dificulta probar los aspectos
de escalabilidad de la aplicación.
Rendimiento
Calificación: Alta
Escalabilidad
Calificación: alta