Load balancer
Ejecutar several upstreams behind one public endpoint. Inicio simple, then add health checks and runtime controls.
Dos upstreams
[[vhosts.routes]]
name = "app"
path_prefix = "/"
action = "proxy"
[vhosts.routes.proxy]
upstreams = [
"10.0.0.11:8080",
"10.0.0.12:8080",
]
upstream_weights = [100, 50]
upstream_aliases = ["app-a", "app-b"]
Control operativo operativoes de balanceo
| Control operativo operativo | Úsalo cuando |
|---|---|
upstream_weights | Los backends deben recibir cuotas de tráfico distintas. |
backup_upstreams | Algunos backends deben usarse solo cuando fallan las opciones primarias. |
drain_upstreams | Un backend debe terminar trabajo existente pero no recibir tráfico nuevo. |
disabled_upstreams | Un backend debe mantenerse fuera de rotación. |
upstream_max_in_flight | Un backend necesita un concurrency cap local. |
Archivo dynamic upstream
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Usa static upstreams cuando necesitas weights, aliases, backup, drain o disabled state. Los pools refrescados por file y DNS mantienen intencionadamente un contrato menor.
Qué te aporta
- Focused load-balancer release images are available.
- Los health checks pueden mantener backends rotos fuera de rotación.
- Drain y force-down ayudan durante ventanas de mantenimiento.
- Managed-cookie affinity está disponible cuando las sesiones necesitan un backend estable.