Fluxheim/Dokumentation/Load balancer

Load balancer

Kør several upstreams behind one public endpoint. Begynd simple, then add health checks and runtime controls.

To 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"]

Balancing-controls

StyringBrug det når
upstream_weightsBackend-tjeneste-tjenestes bør modtage forskellige trafikandele.
backup_upstreamsNogle backends bør kun bruges, når primære valg fejler.
drain_upstreamsEn backend bør afslutte eksisterende arbejde, men ikke modtage ny trafik.
disabled_upstreamsEn backend skal holdes ude af rotation.
upstream_max_in_flightEn backend har brug for et lokalt concurrency cap.

Dynamic upstream-fil

[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5

Brug static upstreams, når du har brug for weights, aliases, backup, drain eller disabled state. File og DNS refreshed pools holder bevidst kontrakten mindre.

Hvad det giver dig

  • Focused load-balancer release images are available.
  • Health checks kan holde ødelagte backends ude af rotation.
  • Drain og force-down hjælper ved vedligeholdelsesvinduer.
  • Managed-cookie affinity er tilgængelig, når sessions kræver en stabil backend.
Dansk