Como saber qual Web Node está servindo o conteúdo?

2

Eu tenho um balanceador de carga que distribui o tráfego para 1 de 5 nós da Web. Existe uma maneira fácil de saber com qual nó da Web eu estou falando quando ele me serve de conteúdo? Por exemplo, se eu implementar um cabeçalho no Apache? Adicionar um elemento HTML oculto em cada página?

Pontos de bônus: o que as pessoas fazem para se forçar a um nó da Web específico?

    
por go0n 16.11.2016 / 21:41

1 resposta

1

Existem várias maneiras de resolver esse problema. Meu favorito, principalmente porque é fácil, é definir um cabeçalho HTTP específico para cada servidor na configuração do apache que contém apenas o nome do host. Você pode usar uma string arbitrária se não quiser revelar os nomes de host subjacentes.

# On host1
Header set ServerID host1
# On host2
Header set ServerID host2
# etc.

Você pode ver o cabeçalho HTTP relevante na resposta da solicitação.

Com relação a forçar você mesmo a um nó em particular, isso depende dos detalhes de como você está balanceando a carga dos servidores.

Se você estiver executando um aplicativo sem estado e o balanceador de carga estiver apenas enviando as solicitações em um round-robin, ou de alguma forma aleatória, haverá pouco que você possa fazer para se forçar a um nó subjacente específico desligando todos os outros nós).

No entanto, se os balanceadores de carga estiverem fazendo alguma forma de inserção de cookie (ou similar) para fornecer sessões fixas, normalmente você poderá adaptar uma solicitação que permitirá que você se force a um nó subjacente específico, mas muito depende do método usado.

    
por 17.11.2016 / 10:01