Descripción general
Introducción
Passwork soporta una arquitectura tolerante a fallos que proporciona alta disponibilidad y mantiene el servicio en funcionamiento incluso si componentes individuales de la infraestructura fallan.
La tolerancia a fallos le permite:
- Garantizar un servicio continuo para los usuarios
- Distribuir la carga entre múltiples servidores
- Escalar el sistema para manejar más usuarios y mayor rendimiento
- Reducir los riesgos operativos manteniendo un comportamiento predecible durante la conmutación por error e incidentes
La tolerancia a fallos en Passwork solo está disponible con la licencia avanzada.
Principios de tolerancia a fallos
Un despliegue tolerante a fallos de Passwork se basa en dos principios fundamentales:
- Servidores de aplicaciones redundantes — varios servidores de aplicaciones funcionan en paralelo, de modo que el servicio permanece disponible incluso si uno o más nodos fallan.
- Replicación de la base de datos — un conjunto de réplicas de MongoDB mantiene los datos sincronizados entre nodos y elige automáticamente un nuevo Primary.
Requisitos mínimos:
- Al menos 2 servidores de aplicaciones detrás de un balanceador de carga
- Al menos 3 nodos de MongoDB en un conjunto de réplicas
- Infraestructura independiente para los nodos de la base de datos (racks/centros de datos separados cuando sea posible)
- Verificaciones de estado y monitoreo de conexiones configurados
Arquitectura general de un sistema tolerante a fallos:

Escalabilidad
Passwork soporta dos modelos de escalado para aumentar el rendimiento y manejar más usuarios.
Escalado horizontal
El escalado horizontal (scale-out) significa añadir nuevos servidores al grupo para distribuir la carga.
Ventajas:
- Mayor rendimiento distribuyendo solicitudes entre servidores
- Alta disponibilidad — si un servidor falla, los demás siguen funcionando
- Expansión gradual e incremental
Casos de uso:
- Añadir nuevos servidores de aplicaciones de Passwork
- Expandir el conjunto de réplicas de MongoDB con nodos secundarios adicionales
Escalado vertical
El escalado vertical (scale-up) significa aumentar los recursos (RAM, CPU, almacenamiento) en un servidor existente.
Ventajas:
- Mejora rápida del rendimiento sin cambiar la arquitectura
- Fácil de implementar — no se requiere balanceo ni sincronización
- Adecuado para cargas pequeñas y medianas
Limitaciones:
- Límites de hardware (máximo de RAM/CPU en un solo host)
- Punto único de fallo — si el servidor cae, el sistema no está disponible
- Un solo servidor potente puede costar más que varios más pequeños
Recomendaciones
- Para despliegues tolerantes a fallos, prefiera el escalado horizontal
- El escalado vertical se adapta a configuraciones en etapas iniciales o entornos sin requisitos estrictos de alta disponibilidad
- Un enfoque combinado también funciona: escale verticalmente los servidores cuando sea necesario y escale horizontalmente para disponibilidad
Componentes de la arquitectura tolerante a fallos
Un despliegue tolerante a fallos de Passwork consta de dos componentes principales.
1. Múltiples servidores de aplicaciones
El uso de varios servidores de aplicaciones de Passwork detrás de un balanceador de carga proporciona:
- Redistribución automática del tráfico si un servidor falla
- Distribución uniforme de la carga entre servidores saludables
- Escalabilidad horizontal
Obtenga más información sobre la arquitectura, el balanceo de carga y las verificaciones de estado en servidores de aplicaciones.
2. Replicación de la base de datos
El uso de un conjunto de réplicas de MongoDB proporciona:
- Elecciones automáticas y reemplazo del Primary cuando el Primary actual falla
- Sincronización de datos entre nodos
- Alta disponibilidad de datos
Más detalles en base de datos.
Beneficios de una arquitectura tolerante a fallos
Alta disponibilidad
El sistema sigue funcionando incluso cuando componentes individuales fallan:
- Si un servidor de aplicaciones cae, el balanceador de carga redirige el tráfico a los servidores restantes
- Si el nodo Primary de la base de datos falla, el conjunto de réplicas elige un nuevo Primary y los servidores de aplicaciones comienzan a utilizarlo
Escalabilidad
Una arquitectura tolerante a fallos facilita el escalado:
- Escalado horizontal — añadir servidores de aplicaciones y nodos de MongoDB
- Escalado vertical — añadir recursos a los servidores existentes
Rendimiento
La distribución de la carga entre múltiples servidores le permite:
- Atender más solicitudes simultáneas
- Reducir la presión sobre cada servidor
- Mejorar los tiempos de respuesta