Saltar al contenido principal

Infraestructura

Esta página cubre las piezas de plataforma compartidas sobre las que corre el backend — el almacén de datos, la cola de trabajos en segundo plano, el límite de tasa y el logging que usa cada funcionalidad. Para las integraciones con servicios de terceros construidas encima de esto (S3, correo, SMS, push, analítica, LiveKit, etc.), consulta Servicios. Para cómo difieren los despliegues de local/development/production, consulta Entornos de despliegue.

Redis

Redis potencia varias funcionalidades en tiempo real:

UsoDetalles
Presencia en líneasetUserOnline(userId) con TTL de 5 minutos, renovado en cada heartbeat
Caché de chatchat-cache.service.js almacena en caché los mensajes recientes y los metadatos de conversación
Caché de códigos SMSAlmacena los códigos OTP para verificación con TTL
Colas de BullMQCola de trabajos del worker de notificaciones
Pub/Subpubsub.service.js potencia las suscripciones de GraphQL mediante pub/sub de Redis

Límite de tasa

services/rate-limiter.service.js proporciona límite de tasa en memoria para acciones de administración y de la API. Los límites se definen en constants/RATE_LIMITS como pares { max, windowMs }. En producción, se recomienda una implementación respaldada por Redis para despliegues multi-instancia.


Logging

services/logger/ proporciona un logger estructurado centralizado usado en todos los servicios y managers. Niveles de log: debug, info, warn, error.


Resumen de variables de entorno

VariablePropósito
REDIS_HOST / REDIS_PORT / REDIS_PASSWORDRedis + BullMQ
MAX_FAILED_LOGIN_ATTEMPTSUmbral de bloqueo de administrador

Consulta la página de Servicios para las variables de entorno específicas de S3, SES, SMS, analítica y LiveKit.