O armazenamento de sessão é um dos pilares de um aplicativo da Web dimensionável. O Couchbase Server é uma opção de armazenamento de sessão eficiente, dimensionável e flexível. Além de simplesmente armazenar e recuperar a sessão rapidamente, o Couchbase Server também fornece ferramentas para explorar e extrair dados da sessão para obter insights valiosos. Há também projetos de código aberto para integrar mais facilmente o Couchbase à estrutura da Web de sua preferência. Portanto, se você estiver criando aplicativos da Web e precisar de um armazenamento de sessão dimensionável, continue lendo, pois acabamos de publicar um tutorial que o ajudará a Comece a usar o armazenamento de sessão do ASP.NET.
Nota lateral: a equipe de documentação do Couchbase tem trabalhado arduamente para criar um novo arquivo pesquisável "Seção "tutoriais. É de código aberto, parece ótimo e estou muito empolgado com ele! Fique de olho nessa página, pois há muito mais tutoriais a serem lançados este ano!
Armazenamento de sessão
Quando um usuário faz login ou visita um site, ele inicia uma "sessão". A sessão e o usuário são correlacionados fornecendo um cookie ao navegador da Web do usuário com um valor de pesquisa que corresponde diretamente ao armazenamento da sessão no lado do servidor. O ASP.NET e o ASP.NET Core geralmente armazenam esses dados na memória do servidor da Web.
Para sites pequenos e/ou implementações de servidor único, isso pode ser aceitável. Para implementações maiores, isso pode ser problemático por pelo menos dois motivos:
- Se o servidor da Web cair ou for reiniciado, essas informações da sessão serão apagadas.
- "Sessões fixas" significam que um usuário está "preso" a um único servidor, o que pode levar a cargas desequilibradas ao longo do tempo.
Outra abordagem é armazenar os dados da sessão separadamente dos servidores da Web.
Arquitetura de armazenamento de sessão e farm da Web
Um farm da Web fica atrás de um "balanceador de carga". Esse balanceador de carga direcionará as solicitações para os servidores ASP.NET disponíveis. Se os dados da sessão estiverem em outro lugar, o balanceador de carga poderá escolher qualquer servidor para direcionar a solicitação.
Explorando os dados da sessão
Há muitas opções de ferramentas para dar suporte ao armazenamento de sessões, mas o Couchbase Server oferece alguns recursos exclusivos:
Armazenamento que prioriza a memória (ou somente a memória). Quando uma sessão é iniciada, ela geralmente é lida ou gravada em cada solicitação de página. Com o Couchbase, você pode ler/gravar dados na velocidade da memória.
Facilidade de dimensionamento. A arquitetura sem compartilhamento do Couchbase significa que o aumento de escala não é complicado. Não há um único nó "mestre" para restringir as operações.
Informações sobre dados. A linguagem de consulta N1QL do Couchbase, bem como o novo serviço Analytics, facilitam a análise dos dados de sessão da sua empresa de forma agregada. Você pode fazer isso usando a linguagem SQL conhecida. Aqui está um exemplo do tutorial de armazenamento de sessão de uma consulta N1QL para encontrar os itens mais comuns colocados em um carrinho de compras:
1 2 3 4 5 6 7 8 |
SELECIONAR i.ItemName, SUM(i.Quantidade) AS totalQuantidade DE loja de sessão s INÚTIL BASE64_DECODE(s.carrinho de compras).Itens i ONDE s.carrinho de compras IS NÃO FALTANDO GRUPO BY i.ItemName ORDEM BY SUM(i.Quantidade) DESC |
Próximas etapas
Se você for um desenvolvedor .NET, poderá acompanhar o tutorial completo de armazenamento de sessão agora mesmo. Se você estiver usando outras estruturas ou linguagens, os tutoriais sobre armazenamento de sessão serão publicados em breve!
Se tiver alguma dúvida ou comentário sobre este tutorial de gerenciamento de sessão do ASP.NET, você pode me encontrar em Twitter @mgroves. Assim como tudo na documentação do Couchbase, este tutorial é de código aberto e pull requests para melhorias são bem-vindos!