Load balancer
Rulează several upstreams behind one public endpoint. Începe simple, then add health checks and runtime controls.
Două upstream-uri
[[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"]
Controale de balancing
| Control operațional operațional | Folosește când |
|---|---|
upstream_weights | Partea backend-urile trebuie să primească traffic shares diferite. |
backup_upstreams | Unele backend-uri trebuie folosite doar când opțiunile primary eșuează. |
drain_upstreams | Un backend trebuie să termine lucrul existent, dar să nu primească traffic nou. |
disabled_upstreams | Un backend trebuie ținut în afara rotației. |
upstream_max_in_flight | Un backend are nevoie de local concurrency cap. |
Configurațieurațieurare dynamic upstream file
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Folosește static upstreams când ai nevoie de weights, aliases, backup, drain sau disabled state. Pool-urile file și DNS refreshed păstrează intenționat contractul mai mic.
Ce îți oferă
- Focused load-balancer release images are available.
- Health check-urile pot ține backend-urile defecte în afara rotației.
- Operațiile drain și force-down ajută la ferestrele de mentenanță.
- Managed-cookie affinity este disponibil când sesiunile au nevoie de un backend stabil.