Fluxheim/Документация/Балансировщик нагрузки

Балансировщик нагрузки

Запуск several upstreams behind one public endpoint. Старт 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"]

Balancing controls upstream upstream

КонтрольИспользуйте, когда
upstream_weightsBackend тип типs должны получать разные traffic shares.
backup_upstreamsНекоторые backends должны использоваться только при отказе primary choices.
drain_upstreamsBackend тип тип должен завершать текущую работу, но не получать new traffic.
disabled_upstreamsBackend тип тип нужно держать вне rotation.
upstream_max_in_flightBackend тип тип нужен local concurrency cap.

Dynamic upstream file источник источник

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

Используйте static upstreams, когда нужны weights, aliases, backup, drain или disabled state. File и DNS refreshed pools намеренно имеют меньший contract.

Что это дает

  • Focused load-balancer release images are available.
  • Health checks могут убирать broken backends из rotation.
  • Операции drain и force-down помогают во время maintenance windows.
  • Managed-cookie affinity доступна, когда sessions нужен stable backend.
Русский