Load Balancing Definición El load balancing (balanceo de carga) distribuye las conexiones de agentes, el tráfico web y el procesamiento de llamadas entre múltiples servidores dentro de un clúster de VICIdial. Esto previene la sobrecarga de servidores, permite el escalado horizontal y mantiene la redundancia del sistema. Capas de implementación Capa web: el sistema usa proxies inversos (HAProxy, Nginx o balanceadores de carga en la nube) para distribuir las solicitudes HTTP de los agentes entre varios servidores web. Esto permite que miles de agentes accedan a la interfaz simultáneamente sin saturar un único servidor. Capa de telefonía: el procesamiento de llamadas se distribuye entre varios servidores Asterisk. El proceso VICIDIAL_balance_active_calls.pl monitorea los niveles de carga y asigna agentes a los servidores de telefonía según la capacidad disponible. Las llamadas salientes se originan en servidores con recursos suficientes. Capa de troncal SIP: las llamadas salientes se distribuyen entre varios carriers o grupos de troncales usando enrutamiento por prefijo de marcación y configuración de conmutación por falla entre carriers, evitando la saturación de troncales y proveyendo carriers de respaldo. Importancia estratégica El load balancing se vuelve crítico para despliegues que superan la capacidad de un solo servidor, típicamente más de 200-300 llamadas concurrentes o más de 500 agentes. Sin distribución, el tráfico se concentra en un servidor, creando tanto un riesgo de falla como un techo de desempeño. Una implementación efectiva entrega escalabilidad y alta disponibilidad. Cuando fallan los servidores web, el balanceador redirige a los agentes hacia servidores funcionales. Cuando fallan los servidores de telefonía, las llamadas se enrutan a través de la infraestructura restante. La replicación de base de datos (Database Replication) resuelve el punto único de falla restante en la mayoría de las arquitecturas. Conceptos relacionados VICIdial Cluster Database Replication Asterisk