Load balancer
Run several upstreams behind one public endpoint. Start 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"]
Controls de balanceig
| Control operatiu | Usa-ho quan |
|---|---|
upstream_weights | Els backends han de rebre quotes de trànsit diferents. |
backup_upstreams | Alguns backends s'han d'usar només quan fallen les opcions primàries. |
drain_upstreams | Un backend ha d'acabar la feina existent però no rebre trànsit nou. |
disabled_upstreams | Un backend ha de mantenerse fuera de rotación. |
upstream_max_in_flight | Un backend necessita un concurrency cap local. |
Fitxer dynamic upstream
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Usa static upstreams quan necessitis weights, aliases, backup, drain o disabled state. Els pools refrescats per file i DNS mantenen intencionadament un contracte més petit.
Què t'aporta
- Focused load-balancer release images are available.
- Els health checks poden mantenir backends trencats fora de rotació.
- Drain i force-down ajuden durant finestres de manteniment.
- Managed-cookie affinity està disponible quan les sessions necessiten un backend estable.