bueno , para el tema que se había planteado este hilo, justo hace unos días tuve que levantar un balanceo de carga para unos sitios que corrían sobre Windows + PHP + sql-server
cambios a nivel de Windows eran pocos los que se podían hacer, más que nada clonar el servidor web productivo en otro (todo virtualizado, sin agregar más máquinas )
ojo, solo se contaban con 2 máquinas físicas , así que todo rondaba a estas
se instalaron 2 Linux para la función de balanceo de carga y alta disponibilidad
en un principio había puesto solo nginx para la función de acceso y monitoreo del cluster, pero como las sesiones de la aplicación PHP usaba sesiones en archivos (no me iba a poner a manosear el Windows más si usa xamp que no le tengo tanta fe xD ) tuve que agregar al grupo el servicio haproxy, esto porque en el modo "http" este servicio tiene la capacidad de balancear basado en sesiones
en la configuración de haproxy para esta función se debe agregar el nombre de la sesión que usará la aplicación (por defecto la configuración sugiere SESSIONID) pero acá tenía que poner CACKEID (referencia del framework usado en la app)
esto lo vine a notar cuando la cosa no funcionaba bien y al escuchar con tcpdump las cabeceras http note el nombre de la sesión
f
cabe mencionar que la configuración la hice con corosync y pacemaker sobre debian 9
la gracia es que este tipo de cluster levanta los servicios por si mismo, por lo que desde ahí se puede parar, arrancar, reiniciar o mover recursos entre nodos
en mi caso para no tener retardos por alguna caída, hice clones de los recursos nginx y haproxy en ambos nodos, total el que importaba que quedara activo solo en uno era la IP virtual
otra gracia de este cluster es que es el mismo el que monitorea el estado de los servicios, y si alguno se cae o muere el proceso, este intentará arrancarlo
y con una agrupación si el proceso no logra arrancar, moverá la IP en donde el servicio si este corriendo
Enviado desde mi TA-1039 mediante Tapatalk