Pular para o conteúdo
Skillpedia
Diversos48 mil · #3479

load-balancing

Faz seu agente distribuir tráfego entre diferentes servidores. Garante que nenhum servidor fique sobrecarregado e que o acesso seja rápido e estável.

O que ela faz

Serve para distribuir o tráfego de internet entre vários servidores de um site ou aplicativo. Isso garante que nenhum servidor fique sobrecarregado e que o serviço continue funcionando mesmo se um servidor falhar.

Quando usar

  • ✓Quando você tem um site ou app que recebe muito tráfego.
  • ✓Para garantir que seu site continue no ar se um servidor der problema.
  • ✓Para atualizar seu site sem interromper o serviço para os usuários.

Exemplo do que pedir para a IA

“Configure um balanceador de carga para distribuir o tráfego entre meus servidores web.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/load-balancing/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/load-balancing/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele funciona recebendo todas as solicitações de entrada e as encaminhando para um dos servidores disponíveis. Ele pode verificar se os servidores estão funcionando e enviar o tráfego apenas para os saudáveis.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill load-balancing

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/load-balancing/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Balanceamento de Carga

Distribua o tráfego entre servidores de aplicação para alta disponibilidade, escalabilidade e tolerância a falhas.

Quando Usar

  • Distribuir tráfego HTTP/HTTPS entre múltiplos servidores de backend.
  • Implementar verificações de saúde (health checks) para rotear o tráfego para longe de instâncias não saudáveis.
  • Encerrar TLS no balanceador de carga para simplificar o gerenciamento de certificados.
  • Habilitar implantações blue/green ou canary com mudança de tráfego.
  • Escalar horizontalmente atrás de um único ponto de entrada.

Pré-requisitos

  • Dois ou mais servidores de backend executando a mesma aplicação.
  • Certificado TLS para encerramento HTTPS (ACM, Let's Encrypt ou autoassinado para uso interno).
  • Para AWS: VPC com sub-redes públicas e privadas em diferentes zonas de disponibilidade.
  • Para nginx/HAProxy: Servidor Linux com acesso root.

Balanceador de Carga nginx

Round-Robin Básico

# /etc/nginx/conf.d/loadbalancer.conf
upstream app_backend {
    server 10.0.1.10:8080;
    server 10.0.1.11:8080;
    server 10.0.1.12:8080;
}

server {
    listen 80;
    server_name app.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name app.example.com;

    ssl_certificate     /etc/ssl/certs/app.example.com.pem;
    ssl_certificate_key /etc/ssl/private/app.example.com-key.pem;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://app_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_connect_timeout 5s;
        proxy_read_timeout 30s;
        proxy_send_timeout 30s;
    }

    location /health {
        access_log off;
        return 200 "OK";
    }
}

Servidores com Peso e de Backup

upstream app_backend {
    least_conn;  # Route to server with fewest active connections

    server 10.0.1.10:8080 weight=5;      # Gets 5x traffic
    server 10.0.1.11:8080 weight=3;      # Gets 3x traffic
    server 10.0.1.12:8080 weight=1;      # Gets 1x traffic
    server 10.0.1.20:8080 backup;        # Only used when others are down
    server 10.0.1.21:8080 down;          # Temporarily removed from pool
}

Verificações de Saúde (nginx Plus / OpenResty)

upstream app_backend {
    zone backend 64k;  # Shared memory zone for health data

    server 10.0.1.10:8080;
    server 10.0.1.11:8080;
    server 10.0.1.12:8080;
}

# Health check (requires nginx Plus or third-party module)
# match healthy {
#     status 200;
#     body ~ "OK";
# }
# health_check interval=5s fails=3 passes=2 match=healthy;

Sessões Fixas (IP Hash)

upstream app_backend {
    ip_hash;  # Same client IP always goes to the same server
    server 10.0.1.10:8080;
    server 10.0.1.11:8080;
    server 10.0.1.12:8080;
}

Configuração do HAProxy

Configuração Completa de Produção

# /etc/haproxy/haproxy.cfg
global
    log /dev/log local0
    maxconn 4096
    daemon
    ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11
    tune.ssl.default-dh-param 2048

defaults
    mode http
    log global
    option httplog
    option dontlognull
    option forwardfor
    timeout connect 5s
    timeout client  30s
    timeout server  30s
    timeout http-request 10s
    timeout http-keep-alive 5s
    retries 3

frontend http_front
    bind *:80
    redirect scheme https code 301 if !{ ssl_fc }

frontend https_front
    bind *:443 ssl crt /etc/ssl/certs/app.example.com.pem
    http-request set-header X-Forwarded-Proto https

    # Roteia com base no caminho
    acl is_api path_beg /api/
    acl is_ws  path_beg /ws/

    use_backend api_servers if is_api
    use_backend ws_servers  if is_ws
    default_backend web_servers

backend web_servers
    balance roundrobin
    option httpchk GET /health HTTP/1.1\r\nHost:\ app.example.com
    http-check expect status 200

    cookie SERVERID insert indirect nocache
    server web1 10.0.1.10:8080 check inter 5s fall 3 rise 2 cookie web1
    server web2 10.0.1.11:8080 check inter 5s fall 3 rise 2 cookie web2
    server web3 10.0.1.12:8080 check inter 5s fall 3 rise 2 cookie web3

backend api_servers
    balance leastconn
    option httpchk GET /api/health
    http-check expect status 200

    server api1 10.0.2.10:8080 check inter 5s fall 3 rise 2
    server api2 10.0.2.11:8080 check inter 5s fall 3 rise 2


…
Perguntas frequentes

O que é alta disponibilidade?

Significa que o serviço está sempre disponível para os usuários, mesmo que algo dê errado com um dos servidores.

O que é escalabilidade?

É a capacidade de aumentar ou diminuir os recursos (como servidores) para lidar com a demanda de tráfego.

O que é tolerância a falhas?

É a capacidade de um sistema continuar funcionando mesmo que uma parte dele falhe.

Detalhes

Descrição original do autor

Configure load balancers and traffic distribution. Implement health checks and SSL termination. Use when distributing traffic across servers.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3479
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas