Fluxheim/Dokumentacija/Load balancer

Load balancer

Vykdyti several upstreams behind one public endpoint. Pradžia simple, then add health checks and runtime controls.

Du upstream

[[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 kontrolės

KontrolėNaudok, kai
upstream_weightsBackend pusė pusė turi gauti skirtingas traffic dalis.
backup_upstreamsKai kurie backend turi būti naudojami tik tada, kai primary pasirinkimai nepavyksta.
drain_upstreamsBackend pusė pusė turi užbaigti esamą darbą, bet negauti naujo traffic.
disabled_upstreamsBackend pusė pusė turi būti laikomas už rotacijos ribų.
upstream_max_in_flightBackend pusė pusė reikia local concurrency cap.

Dinaminis upstream file

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

Naudok static upstream, kai reikia weights, aliases, backup, drain arba disabled state. File ir DNS refreshed pool sąmoningai laiko contract mažesnį.

Ką tai suteikia

  • Focused load-balancer release images are available.
  • Health check gali laikyti neveikiančius backend už rotacijos ribų.
  • Drain ir force-down operacijos padeda maintenance window metu.
  • Managed-cookie affinity prieinama, kai session reikia stabilaus backend.
Lietuvių