Armazenar dados de sessão HTTP com o Spring Session

Concluído

Nesta unidade, saiba como usar o Cache do Azure para Redis a fim de armazenar dados de sessão HTTP por meio do Spring Session.

Sessões HTTP

As sessões HTTP armazenam dados do usuário, geralmente informações de segurança, entre as solicitações. Elas também podem armazenar o estado do aplicativo ou armazenar em cache os dados do usuário acessados com frequência. Como as sessões HTTP são armazenadas no servidor, elas podem apresentar um problema de escalabilidade. É necessário replicar as sessões quando o aplicativo é expandido para mais nós.

As sessões HTTP estão disponíveis em Java desde o início dos servlets, e tecnologias como JSF (JavaServer Faces) as utilizam intensamente. O dimensionamento de sessões HTTP sempre foi um problema e há mecanismos de replicação de sessão em todos os principais servidores de aplicativos Java.

Um problema é que os mecanismos de replicação de sessão HTTP não são padronizados, mas dependem de APIs específicas para cada servidor de aplicativos. Essa configuração pode causar problemas de portabilidade.

Spring Session

O Spring Session é um subprojeto do Spring que fornece uma solução genérica para configurar a replicação de sessão HTTP. O Spring Session dá suporte ao Redis como uma das diversas opções de back-end. O Spring Session replica todos os dados da sessão no Redis, portanto, quando o aplicativo é expandido, cada nó tem acesso às sessões do usuário.

A configuração do Spring Session é semelhante à configuração anterior do Spring Data e ilustra outro cenário de uso recomendado do Redis.

Usar o Spring Session com o Redis

Parte da configuração é a mesma do Spring Data Redis, e é necessário fazer isso somente uma vez para ambas as soluções. Como na configuração do Spring Data, você normalmente usa o Spring Initializr e executa as seguintes tarefas principais:

  1. Adicione a biblioteca do Spring Session Redis ao aplicativo.
  2. Configure o arquivo application.yml para se conectar à instância do Cache do Azure para Redis.
  3. Use o mecanismo de sessão HTTP do Java para armazenar e recuperar dados.

Prossiga para a próxima unidade a fim de implementar essa configuração.