Load balancer
Pokreni several upstreams behind one public endpoint. Početak simple, then add health checks and runtime controls.
Dva upstreama
[[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"]
Balancing kontrole
| Kontrola | Koristi kada |
|---|---|
upstream_weights | Backend strana strana trebaju dobiti različite udjele traffic. |
backup_upstreams | Neki backend trebaju se koristiti samo kada primary izbori zakažu. |
drain_upstreams | Backend strana strana treba završiti postojeći posao, ali ne primati novi traffic. |
disabled_upstreams | Backend strana strana mora ostati izvan rotacije. |
upstream_max_in_flight | Backend strana strana treba local concurrency cap. |
Dinamički upstream file
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Koristi static upstream kada trebaš weights, aliases, backup, drain ili disabled state. File i DNS refreshed pool namjerno drže contract manjim.
Što dobivaš
- Focused load-balancer release images are available.
- Health check mogu držati neispravne backend izvan rotacije.
- Drain i force-down operacije pomažu tijekom maintenance window.
- Managed-cookie affinity dostupan je kada session treba stabilan backend.