
Eu tenho 3 servidores web IIS em um web farm ARR. Quando fazemos lançamentos contínuos, colocamos um servidor off-line como servidor de backup e o movemos para um "estado indisponível". Percebi que com o ARR, os servidores não permanecerão nesse estado... eles voltam a ficar on-line automaticamente horas ou dias depois . Alguém sabe como remediar esta situação? Isso é muito ruim porque o servidor que está inativo normalmente não está executando a versão correta do nosso código.
Preciso manter um servidor indisponível até que eu diga o contrário.
Responder1
eu sugeririaconfigurando um teste de integridadepara verificar a versão da versão do código que você deseja executar. Ao fazer alterações, basta alterar a correspondência da resposta. Você também deveriaproibir novas conexõesem um servidor em que você tem uma janela de manutenção. Isso irá drenar as conexões e não permitir que elas sejam ligadas, independentemente da integridade do servidor
Responder2
Estou executando o ARR 2.5 em um Windows 2008 R2 Datacenter SP1 e tive o mesmo problema ao fazer a transição de um servidor farm selecionando "Proibir novas conexões" ou "Tornar o servidor indisponível imediatamente". O controlador eventualmente reverterá o servidor do farm para disponível. Verifiquei os logs de acesso no servidor afetado e, em um caso, ele ficou disponível e começou a atender solicitações após 2 horas.
Com relação à solução de Jim B, tenho um problema. Se você implantar o código correto no primário e não configurar o teste de integridade antes da próxima verificação, todos os servidores do farm que foram provisionados com o novo código em execução serão marcados como não íntegros, o que na maioria dos casos são todos aqueles no farm . Não vejo como mesmo um lapso momentâneo na integridade do servidor do farm valha essa solução alternativa. Se estiver faltando a foto, por favor me avise.
Achei que seria inteligente e definir primeiro o servidor do farm como não íntegro e depois como indisponível. O servidor ficou imediatamente indisponívelesaudável.
Pessoalmente, a única maneira de ter certeza de que o servidor do farm não será disponibilizado automaticamente é removê-lo completamente do balanceamento de carga depois de ter uma garantia razoável de que as conexões foram esgotadas.
Independentemente disso, parece ser um bug. Não posso ter certeza de que um determinado servidor de farm não lidará com o tráfego de sessão quando tento desviar dele (para atualizações e reinicializações, por exemplo).
Responder3
Eu descobri quando (não por que) isso está acontecendo -e como consertar isso!
Isso acontece quando o pool de aplicativos do site padrão (processo ARR) no balanceador de carga é encerrado ou reciclado.
Siga a recomendação da Microsoft e defina o tempo limite de inatividade do pool de aplicativos = 0: Guia de configuração ARR recomendado pela Microsoft