Fluxheim/Dokumendid/Load balancer

Load balancer

Käivita several upstreams behind one public endpoint. Algus simple, then add health checks and runtime controls.

Kaks upstreami

[[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-kontrollid

TöökontrollKasuta, kui
upstream_weightsBackend-teenus-teenusid peaksid saama erinevaid liikluse osakaale.
backup_upstreamsMõned backendid peaksid kasutusele minema ainult siis, kui põhilised valikud ebaõnnestuvad.
drain_upstreamsBackend-teenus-teenus peaks lõpetama olemasoleva töö, kuid uut liiklust mitte saama.
disabled_upstreamsBackend-teenus-teenus tuleb hoida rotatsioonist väljas.
upstream_max_in_flightBackend-teenus-teenus vajab kohalikku concurrency capi.

Dynamic upstream-fail

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

Kasuta static upstreame, kui vajad weights, aliases, backup, drain või disabled state. File ja DNS refreshed poolid hoiavad lepingut teadlikult väiksemana.

Mida see annab

  • Focused load-balancer release images are available.
  • Health checkid saavad hoida rikkis backendid rotatsioonist väljas.
  • Drain ja force-down aitavad hooldusakende ajal.
  • Managed-cookie affinity on saadaval, kui sessioonid vajavad stabiilset backendit.
Eesti