Saltar al contenido principal

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
aviso

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:

  1. 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.
  2. 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:

Esquema de tolerancia 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