Балансіроўшчык нагрузкі
Run several upstreams behind one public endpoint. Start simple, then add health checks and runtime controls.
Два 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"]
Кіравання балансуванням
| Кіравання | Выкарыстоўвайце, коли |
|---|---|
upstream_weights | Backends павінны атрымліваць розныя долі трафіку. |
backup_upstreams | Некаторыя backend-ы трэба выкарыстоўваць толькі пры збоі асноўных варыянтаў. |
drain_upstreams | Backend павінен завяршыць бягучую працу, але не атрымліваць новы трафік. |
disabled_upstreams | Backend павінен заставацца па-за rotation. |
upstream_max_in_flight | Backend патрабуе лакальнага абмежавання concurrency. |
Динамічний upstream-файл
[vhosts.routes.proxy]
upstreams_file = "/run/fluxheim/backends/app.txt"
upstreams_file_refresh_secs = 5
Выкарыстоўвайце статычныя upstream-ы, калі патрэбныя вагі, псеўданімы, рэзервовы рэжым, drain або адключаны стан. Для пулаў, якія абнаўляюцца з файла або DNS, набор магчымасцей наўмысна меншы.
Што гэта дае
- Focused load-balancer release images are available.
- Health checks можуть тримати broken backends поза rotation.
- Drain і force-down operations допомагають під час maintenance windows.
- Кіраваны-cookie affinity is available when sessions need a стабільний backend.