Balanceador de carga proxy inverso y servidor web basado en Perl. Una de las características distintivas de Perlbal es que prácticamente todo se puede configurar o reconfigurar sobre la marcha, sin necesidad de reiniciar el software.
Configuración básica de ejemplo
# nano /etc/perlbal/perlbal.conf
CREATE POOL my_backend
ADD 127.0.0.1:8080
ADD 127.0.0.1:8081
CREATE SERVICE my_web_server
SET role = web_server
SET pool = my_backend
SET listen = 0.0.0.0:80
ENABLE my_web_server
Se crea un pool llamado "my_backend" que contiene dos servidores en 127.0.0.1:8080 y 127.0.0.1:8081. Luego, se crea un servicio llamado "my_web_server" que actúa como un servidor web y escucha en el puerto 80, utilizando el pool my_backend.
# perlbal --conf /etc/perlbal/perlbal.conf
# telnet localhost 60000
Algunos comando dentro de la interfaz son:
> LIST SERVICES (listar servicios)
> LIST POOLS (muestra todos los pools configurados)
> SET SERVICE my_web_server SET listen = 0.0.0.0:8080 (cambia la configuración del servicio my_web_server para que escuche en el puerto 8080)
> ADD POOL my_backend 127.0.0.1:8082 (agrega un nuevo servidor backend al pool my_backend)
> REMOVE POOL my_backend 127.0.0.1:8080 (elimina un servidor backend del pool my_backend)
> RELOAD SERVICE my_web_server (recarga la configuración del servicio my_web_server sin necesidad de reiniciar Perlbal)