Fluxheim/Documentos/Load balancer

Load balancer

Executar several upstreams behind one public endpoint. Início simple, then add health checks and runtime controls.

Dois upstreams

[[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"]

Controlo operacionalo operacionalos de balanceamento

Controlo operacionalo operacionalUse quando
upstream_weightsServiço backends devem receber quotas de tráfego diferentes.
backup_upstreamsAlguns backends só devem ser usados quando escolhas primárias falham.
drain_upstreamsUm backend deve terminar trabalho existente mas não receber tráfego novo.
disabled_upstreamsUm backend deve ser mantido fora de rotação.
upstream_max_in_flightUm backend precisa de um concurrency cap local.

Ficheiro dynamic upstream

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

Use static upstreams quando precisar de weights, aliases, backup, drain ou disabled state. Pools atualizados por file e DNS mantêm intencionalmente um contrato menor.

O que oferece

  • Focused load-balancer release images are available.
  • Health checks podem manter backends avariados fora da rotação.
  • Drain e force-down ajudam em janelas de manutenção.
  • Managed-cookie affinity está disponível quando sessões precisam de um backend estável.
Português