nginx aninhado a montante

5

esta é a minha atual definição upstream

upstream mybackend {
  server cache-server;
  server app-server-1 backup;
  server app-server-2 backup;
}

Cada solicitação vai para o servidor de cache e, quando estiver inativo, as solicitações serão enviadas para o servidor de aplicativos-1 sem balancear entre o servidor de aplicativos-1 e o número 2.

É possível fazer algo assim?

upstream mybackend {
  server cache-server;
  server app-server-cluster backup;
}

upstream app-server-cluster{
  server app-server-1;
  server app-server-2;
}

... quando o servidor de cache for desativado, o nginx utilizará o cluster do servidor de aplicativos e equilibrará entre 1 e 2?

    
por Sascha Void 24.02.2013 / 19:04

2 respostas

2

Não, o aninhamento de tal maneira não é atualmente suportado. A documentação no link é bastante clara no tipo de parâmetros que a diretiva server aceita.

Por outro lado, você tem certeza de que na configuração existente nginx não estaria balanceando a carga entre appserver-1 e -2, se você especificasse ambos como backup ? A documentação não é específica de qual comportamento é esperado em uma situação como essa; Eu diria que especificar dois backup servidores deve fazer nginx equilibrar as solicitações entre todos esses servidores de backup; Se esse não for o caso, mas você precisar, então talvez você deva registrar um RfE: link .

    
por 05.03.2013 / 23:38
2

Claro que você pode simplesmente criar uma "configuração do servidor" separada para o seu app-server-XX em algumas outras portas no mesmo nginx.conf e configurá-lo como quiser. Então você pode usá-lo no seu "mybackend" upstream exatamente como você disse antes.

    
por 29.09.2014 / 11:50

Tags