Fluxheim/Dokumentacja/Load balancer

Load balancer

Uruchom several upstreams behind one public endpoint. Zacznij simple, then add health checks and runtime controls.

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

Kontrole balancing

KontrolaUżyj, gdy
upstream_weightsStrona backenduy powinny otrzymywać różne traffic shares.
backup_upstreamsNiektóre backendy powinny być używane tylko, gdy primary choices zawiodą.
drain_upstreamsStrona backendu powinien dokończyć istniejącą pracę, ale nie otrzymywać nowego traffic.
disabled_upstreamsStrona backendu musi być trzymany poza rotacją.
upstream_max_in_flightStrona backendu potrzebuje local concurrency cap.

Konfiguracja dynamic upstream file

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

Używaj static upstreams, gdy potrzebujesz weights, aliases, backup, drain lub disabled state. File i DNS refreshed pools celowo zachowują mniejszy contract.

Co daje

  • Focused load-balancer release images are available.
  • Health checki mogą trzymać uszkodzone backendy poza rotacją.
  • Operacje drain i force-down pomagają przy oknach maintenance.
  • Managed-cookie affinity jest dostępne, gdy sesje potrzebują stabilnego backendu.
Polski