Load balancer
Spustit several upstreams behind one public endpoint. Začátek simple, then add health checks and runtime controls.
Dva upstreamy
[[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 kontroly
| Kontrola | Použij, když |
|---|---|
upstream_weights | Backend strana stranay mají dostat různé podíly traffic. |
backup_upstreams | Některé backendy se mají použít jen při selhání primary voleb. |
drain_upstreams | Backend strana strana má dokončit existující práci, ale nedostávat nový traffic. |
disabled_upstreams | Backend strana strana musí zůstat mimo rotaci. |
upstream_max_in_flight | Backend strana strana potřebuje local concurrency cap. |
Dynamický upstream file
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Použij static upstream, když potřebuješ weights, aliases, backup, drain nebo disabled state. File a DNS refreshed pool záměrně drží menší contract.
Co to poskytuje
- Focused load-balancer release images are available.
- Health check mohou držet rozbité backendy mimo rotaci.
- Drain a force-down operace pomáhají při maintenance window.
- Managed-cookie affinity je k dispozici, když session potřebuje stabilní backend.