Load balancer
Run several upstreams behind one public endpoint. Start simple, then add health checks and runtime controls.
Dy upstream-e
[[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"]
Kontrolle balancimi
| Kontroll | Përdore kur |
|---|---|
upstream_weights | Backend-et duhet të marrin pjesë të ndryshme trafiku. |
backup_upstreams | Disa backend-e duhet të përdoren vetëm kur zgjedhjet primare dështojnë. |
drain_upstreams | Një backend duhet të përfundojë punën ekzistuese, por të mos marrë trafik të ri. |
disabled_upstreams | Një backend duhet mbajtur jashtë rotacionit. |
upstream_max_in_flight | Një backend ka nevojë për kufi lokal concurrency. |
Skedar dinamik upstream
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Përdor upstream-e statike kur të duhen weights, aliases, backup, drain ose gjendje disabled. Pool-et file dhe DNS refreshed mbajnë qëllimisht kontratë më të vogël.
Çfarë të jep
- Focused load-balancer release images are available.
- Health checks mund të mbajnë backend-e të prishura jashtë rotacionit.
- Veprimet drain dhe force-down ndihmojnë gjatë dritareve të mirëmbajtjes.
- Managed-cookie affinity është i disponueshëm kur sesionet kanë nevojë për backend stabil.