F5 Balanceador de Carga Reenvia Solicitação no Tempo Limite

8

Deixe-me começar por dizer que não sou administrador de sistemas, sou programador.

Recentemente, nossos administradores de sistemas instalaram balanceadores de carga F5. Desde então, percebi que sempre que uma solicitação atinge o tempo limite e acaba gerando um 500, o balanceador de carga envia a mesma solicitação para o outro servidor. O IIS envia a resposta de tempo limite mesmo que o script ainda esteja em execução. Mesmo as solicitações POST são duplicadas se um script for executado por mais de 5 minutos. Isso parece ser um problema em potencial para mim, especialmente em sites de comércio eletrônico nos quais o faturamento de clientes está envolvido.

Este é apenas um problema com alguns dos nossos scripts de execução mais longa (mas é um problema sério). Fui informado de que esse é um comportamento esperado e teremos que alterar nosso código para ficar em conformidade. Então minhas perguntas são:

  • Esse comportamento é esperado?
  • Qual é a vantagem do balanceador de carga replicando a solicitação após um tempo limite diferente do que o usuário não precisa atualizar?
  • Com essa arquitetura, se um script que atrapalha o servidor ou sobrecarregar recursos for executado, ele será executado nos dois servidores. Isso é realmente ótimo?
por Jim D 19.08.2013 / 21:44

2 respostas

3

Dê uma olhada nesta entrada sobre monitoramento de aplicativo passivo em Big-IP

Minhas respostas às suas perguntas, por mais decepcionantes que sejam, são

  • Talvez (dependa da configuração de monitoramento passivo)

  • O usuário não vê um erro

  • Talvez (eu quero atender meus erros de usuários ou tentar a solicitação em outro lugar?)

"Ação no serviço inativo" é uma configuração configurável.

    
por 21.08.2013 / 23:58
0

Se ocorrer um erro 500, isso indica um problema no servidor da web. A F5 simplesmente encaminhará esse erro para o cliente de conexão. Ele não "reenviará" o pedido por conta própria. A única maneira de isso acontecer é se o cliente tentar novamente a solicitação. Nesse ponto, essa solicitação poderia ser balanceada para outro membro do pool, embora não haja garantia e seria baseada na persistência ou no método de balanceamento de carga usado (round robin, menos conexões, etc.).

Em resumo, a menos que você tenha uma iRule muito louca no seu F5, esse é um comportamento causado pelo próprio script.

(Nota: Eu fui Engenheiro de Suporte da Nework para a F5 por um ano e meio trabalhando com o LTM)

    
por 01.03.2015 / 06:05