HAProxy appsession vs precedência de cookie

4

Estou tentando encontrar a melhor solução para balancear e manter a persistência em nosso aplicativo por trás do HAProxy.

Veja nossa configuração básica: link

Depois de brincar com os membros para baixo e para cima e também recarregar o haproxy (com -sf) eu notei que o appsession não é 100% eficaz, parece que às vezes nem sempre 'request-learn' . Eu também tentei adicionar um cookie JSESSION prefix ao saldo no caso de request-learn não aceitar.

Infelizmente, apresentaria cenários em que o prefixo listaria o svr2, mas ele seria balanceado para um servidor diferente. Eu estou supondo que é porque a tabela de sessão de aplicativos leva primeiro, em seguida, gruda nisso antes de usar o parâmetro cookie. Eu não testei com o uso do cookie como uma opção inserida (não o prefixo no cookie existente), mas estou pensando que ele produziria resultados semelhantes.

A minha pergunta é: Qual deles é verificado primeiro , sessão de aplicativos ou cookie, e é um problema imediato depois de ler o primeiro, ou uma queda? Também como acompanhamento - não é recomendado usar os dois no mesmo back-end?

Cookie, como eu entendo, tem menos recursos de memória, é agnóstico para recarregar e tem uma confiabilidade muito melhor da persistência. Suposição de Apps leva menos recurso cpu, já que está lendo não escrevendo.

(Bonus Question: existe uma maneira de inspecionar o mapa de tabela de cookies / appsession? socket > show table não mostra nada exceto tabelas)

Muito obrigado antecipadamente,

Em breve

    
por nhuanca 05.11.2013 / 21:59

1 resposta

3

Depois de conhecer pessoas da Exceliance (que ajudam a desenvolver o HAProxy), eu tenho mais algumas informações.

Não recebi uma resposta clara sobre o que foi verificado primeiro, mas ficou claro que você deve usar o cookie ou usar tabelas de acompanhamento. Ambos têm métodos para persistir através de recarregamentos do HAProxy. Eles também nos informam que o appsession está marcado para a depreciação e para usar cookies ou tabelas stick com cookies. O Appsession usa um hashmap na memória que não é persistido por meio de recarregamentos e possui alguns mecanismos de descoberta, mas não são confiáveis.

Exceliance também mencionou que os recursos não seriam demais com cookies versus appsession. Não existe uma maneira de inspecionar o mapa de appsession para o hash do servidor. É mais eficaz usar o cookie e inspecionar o registro ou os próprios cookies ou se você usar tabelas de aderência - soquete > show tables funcionará para verificar a persistência.

    
por 18.11.2013 / 17:12

Tags