6. Estado de Sessão
Servidor sem estado escala. Sessão fica no cliente, no servidor ou no banco.
Resumo
- Servidor sem estado é valioso: qualquer objeto atende qualquer requisição, escala com poucos recursos.
- Estado de sessão: dados de uma transação de negócio ainda não confirmada. Diferente de dados de registro.
- Três opções: Client Session State, Server Session State, Database Session State.
- Critérios: banda, segurança, failover em cluster, afinidade de servidor, custo de cancelar a sessão.
- Em geral: pouco dado → cliente; desenvolvimento simples → servidor; cluster e failover → banco.
Perguntas-chave
responda de cabeça, depois abraPor que preferir objetos de servidor sem estado?
Podem ser reaproveitados por qualquer requisição (pool), reduzindo memória e facilitando a escala.
O que é afinidade de servidor?
Prender a sessão de um cliente a um servidor do cluster. Simplifica a sessão em memória, mas dificulta o balanceamento.
Qual o problema de guardar sessão no banco?
Isolar dados ainda não confirmados dos dados de registro e o custo de ler e gravar a cada requisição.
Exercícios de fixação
0/5 respondidas1.
Um sistema roda em cluster com balanceador sem afinidade e precisa sobreviver à queda de um nó no meio da sessão. Qual opção atende melhor?
2.
Qual a diferença entre estado de sessão e dados de registro?
3.
Qual o principal risco de segurança do Client Session State?
4.
Por que servidores sem estado ajudam a escalar?
5.
O que é afinidade de servidor (server affinity)?