Fluxheim/文档/负载均衡器

负载均衡器

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_weightsBackend 应接收不同流量份额。
backup_upstreams某些 backend 只应在主选择失败时使用。
drain_upstreams一个 backend 应完成现有工作,但不再接收新流量。
disabled_upstreams一个 backend 必须退出轮换。
upstream_max_in_flight一个 backend 需要本地 concurrency cap。

动态 upstream 文件

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

当需要 weights、aliases、backup、drain 或 disabled state 时使用静态 upstream。file 和 DNS refreshed pools 会刻意保持较小契约。

它提供什么

  • Focused load-balancer release images are available.
  • Health checks 可以让故障 backend 退出轮换。
  • Drain 和 force-down 操作有助于维护窗口。
  • 当 session 需要稳定 backend 时,可使用 managed-cookie affinity。
简体中文