Répartiteur de charge
Exécuter several upstreams behind one public endpoint. Accueil simple, then add health checks and runtime controls.
Deux 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"]
Controleees d'equilibrage
| Controlee | Utilisez-le quand |
|---|---|
upstream_weights | Les backends doivent recevoir des parts de trafic differentes. |
backup_upstreams | Certains backends ne doivent etre utilises que lorsque les choix primaires echouent. |
drain_upstreams | Un backend doit terminer le travail en cours sans recevoir de nouveau trafic. |
disabled_upstreams | Un backend doit etre garde hors rotation. |
upstream_max_in_flight | Un backend a besoin d'une limite locale de concurrence. |
Fichier d'upstreams dynamique
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Utilisez des upstreams statiques quand vous avez besoin de poids, alias, backup, drain ou etat desactive. Les pools rafraichis par fichier et DNS gardent volontairement un contrat plus petit.
Ce que cela apporte
- Focused load-balancer release images are available.
- Les health checks peuvent retirer les backends cassés de la rotation.
- Les opérations drain et force-down aident pendant les fenêtres de maintenance.
- L'affinite par cookie gere est disponible quand les sessions ont besoin d'un backend stable.