failover nginx sem balanceamento de carga

13

Estou com problemas para configurar o nginx.

Estou usando o nignx como um proxy reverso. Eu quero enviar todos os meus pedidos para o meu primeiro servidor. Se o primeiro servidor estiver inativo, quero enviar solicitações para o segundo servidor.

Em suma, como posso ter uma solução de failover sem balanceamento de carga?

    
por Serhat 19.02.2013 / 12:49

2 respostas

13

O que você quer é uma configuração ativa + passiva. Veja um exemplo de snippet nginx conf para você:

upstream backend {
    server 1.2.3.4:80 fail_timeout=5s max_fails=3;
    server 4.5.6.7:80 backup;
}

server {
    listen 80;
    server_name whatevs.com;

    location / {
        proxy_pass http://backend;
    }
}

Então, 'normalmente', todos os pedidos irão para o host 1.2.3.4. Se obtivermos três falhas nessa caixa, o 4.5.6.7 assumirá.

    
por 19.02.2013 / 14:47
0

O balanceamento de carga no nginx é muito fácil, apenas configuramos nomes de servidores no escopo upstream, onde escrevemos a lista de servidores para balanceamento de carga.
nginx suporta algoritmo diferente para balanceamento de carga por padrão é round robine, mas nós configuramos com chaves diferentes como ip_hash ...

http{
 upstream servername{
    ip_hash//for sticky hash
    least_conn//FOR least connection 
    sever localhost:1001;
    sever localhost:1002;
    sever localhost:1003;
}
    
por 19.10.2018 / 11:43