Provedor de estado de sessão ASP.NET para NCache em Fazendas da Web
Para implantações locais, o ASP.NET Session State oferece três opções de armazenamento integradas (InProc, StateServer e SqlServer) e uma quarta opção "Personalizada". As duas primeiras opções integradas (InProc StateServer) apresentam problemas de escalabilidade, enquanto a opção SqlServer apresenta problemas de desempenho e escalabilidade.
Uma estratégia muito melhor é usar a opção "Personalizada" e o plug-in NCache como seu Provedor de estado de sessão ASP.NET. NCache é um cache distribuído de código aberto extremamente rápido e escalável para .NET. Ele lida com cargas de transações extremas, permitindo que você adicione mais servidores de cache em tempo de execução e dimensione linearmente. NCache também fornece inteligência replicação de cache para que você não perca nenhum estado de sessão do ASP.NET se um servidor web ou um servidor de cache cair.
NCache Arquitetura de Sessão Distribuída para Web Farms ASP.NET.
Benefícios da NCache Provedor de estado de sessão ASP.NET
Implementar NCache Como seu provedor de estado de sessão (SSP) não requer nenhuma alteração de código, basta seguir estes passos:
Instale da NCache Pacote NuGet do provedor de sessão via Gerenciador de Pacotes NuGet.
configurar seu arquivo web.config para usar o modo de sessão "Personalizado".
Especificar o seu NCache Nome do cluster e configurações na configuração do provedor.
Veja detalhes sobre a configuração. Provedor de estado de sessão ASP.NET pela NCache. A seguir estão alguns dos benefícios do uso NCache como seu provedor de estado de sessão ASP.NET:
Alta disponibilidade:NCache tem um arquitetura de clustering peer-to-peer com autorrecuperação sem nenhum ponto único de falha. Isso proporciona 100% de tempo de atividade para o armazenamento do estado da sessão do ASP.NET, o que é crucial para aplicações de missão crítica. Esses recursos de alta disponibilidade tornam o armazenamento de estado da sessão do ASP.NET extremamente eficiente. NCache A opção preferida para aplicações de missão crítica em comércio eletrônico, serviços financeiros e saúde, onde a persistência de sessão é vital para a integridade das transações.
Escalabilidade linear:NCache permite que você dimensione seu cluster de cache linearmente adicionando mais servidores de cache ao cluster. Isso aumenta sua capacidade de transação e também sua capacidade de armazenamento. Isso significa que o armazenamento do estado de sessão do ASP.NET nunca se torna um gargalo para seu aplicativo sob cargas de transações pesadas.
Replicação de sessão inteligente:NCache fornece topologias de cache ricas (Cache espelhado, Cache replicado e Cache de réplica de partição) com replicação de sessão inteligente que não compromete o desempenho e a escalabilidade. Isso garante que você não perca nenhum dado de sessão quando um servidor web ou um servidor de cache cair.
Serialização compacta rápida:NCache fornece uma Serialização compacta que é mais rápido do que uma serialização .NET comum e não requer programação para ser usada. Basta registrar suas classes .NET com ele e NCache gera e compila automaticamente o código de serialização em tempo de execução para uso eficiente.
Como gerenciar sessões ASP.NET em várias regiões (data centers)?
NCache Oferece duas maneiras de gerenciar o Estado de Sessão do ASP.NET para aplicativos executados em várias regiões (data centers), mantendo a consistência da sessão entre elas. São elas:
Replicação WAN do estado da sessão ASP.NET: NCache fornece uma Topologia da ponte para permitir que você replique todo o seu armazenamento de estado de sessão ASP.NET (o cache distribuído) para outra região (data center) no WANIsso garante que suas sessões sempre existam em várias regiões (data centers). Você pode usar isso nos modos ativo-passivo (para recuperação de desastres) ou ativo-ativo. No modo ativo-ativo, você pode até mesmo balancear a carga do tráfego entre várias regiões (data centers). Tudo isso é feito por meio de alterações de configuração.
Estado da sessão ASP.NET multirregional: Se você não quiser replicar o estado da sessão do ASP.NET na WAN devido ao custo do consumo de largura de banda, você pode usar Estado de sessão ASP.NET multi-site característica de NCache. Nesse caso, o Estado da Sessão do ASP.NET não é replicado entre os sites, mas sim mantido no local de sua criação. No entanto, se você mover qualquer tráfego de uma região (data center) para outra, o Estado da Sessão do ASP.NET se moverá junto. Isso permite que você tenha duas ou mais regiões ativas (data centers), cada uma mantendo a maior parte do seu tráfego local, mas ocasionalmente transferindo-o para outra região quando necessário.
E você também pode derrubar um datacenter sem causar interrupções para os usuários, porque suas sessões poderão ser acessadas por outros datacenters.
Recursos avançados em NCache Provedor de estado de sessão ASP.NET
O NCache O provedor de estado de sessão ASP.NET implementa todos os padrões Provedor de estado de sessão ASP.NET Recursos. Além disso, ele oferece diversos recursos avançados para que você possa lidar com situações complexas em seus aplicativos.
Compartilhe sessões entre domínios de aplicativos: Se o seu aplicativo usa vários domínios de aplicativo com domínios separados web.config arquivos, definindo o mesmo sessionAppId (por exemplo, "NCacheO "App1") em todos eles permite o compartilhamento de sessões entre esses domínios. Se você usar um ID de aplicativo de sessão diferente, as sessões não serão compartilhadas entre os domínios do aplicativo.
Erro ao registrar: Você pode ativar registro de erros para um arquivo de log no seu servidor web (em INSTALL_DIR\NCache\log-files\SessionStoreProvider pasta) especificando enableLogs = "true". Você também pode habilitar o log de erros no log de eventos do Windows especificando writeExceptionsToEventLog = "true".
Bloqueio de sessão padrão: O comportamento padrão de bloqueio de sessão do ASP.NET é que, se uma sessão for bloqueada, outra solicitação aguardará 90 segundos (configurável) e, ao final, forçará o desbloqueio da sessão. Você pode especificar esta opção da seguinte forma:
Bloqueio de sessão aprimorado: Se você tem uma aplicação ASP.NET de alto tráfego, onde robôs podem estar coletando dados e usando o mesmo ID de sessão para centenas ou milhares de requisições simultaneamente, não pode se dar ao luxo de usar a opção padrão de bloqueio de sessão, pois esperar 90 segundos pode ocupar todos os seus soquetes disponíveis. Em vez disso, você deseja retornar a requisição rapidamente para indicar uma falha. Você pode especificar isso da seguinte forma:
Isso gera 5 tentativas em intervalos de meio segundo e, em seguida, retorna uma sessão vazia para sinalizar uma falha.
Caso de uso empresarial: Esse comportamento de bloqueio aprimorado foi projetado especificamente para um site de companhia aérea com alto tráfego, a fim de evitar o esgotamento de sockets em todo o sistema durante intensas operações de coleta de dados por robôs e eventos de alta concorrência.
Sim. Ao configurar um sessionAppId correspondente no arquivo web.config de cada aplicação, NCache Permite compartilhar o estado da sessão entre diferentes domínios de aplicativos. Isso é ideal para ambientes onde os usuários transitam entre vários subaplicativos dentro da mesma sessão.
Sim. Travas deslizantes portáteis NCache é uma solução "sem código" para gerenciamento de sessão. Você só precisa modificar seu arquivo web.config para alterar o modo sessionState para "Personalizado" e especificar o NCache provedor. Não é necessário recompilar o aplicativo.
NCache Utiliza uma arquitetura de clusterização ponto a ponto com autorrecuperação e replicação inteligente de sessões. Ao usar topologias como Partition-Replica, NCache Cria um backup de cada sessão em um nó diferente, garantindo 100% de disponibilidade e integridade dos dados, mesmo se um servidor web ou de cache ficar inativo.
NCache é um cache distribuído na memória, enquanto o SQL Server é um banco de dados baseado em disco. NCache Elimina os gargalos de banco de dados e os altos custos de serialização associados ao SQL Server, proporcionando escalabilidade linear e tempos de resposta inferiores a um milissegundo para recuperação de sessões.
Sim. Travas deslizantes portáteis NCache Oferece dois recursos principais para suporte a várias regiões: Replicação WAN (via Topologia Bridge) para recuperação de desastres ativa-passiva ou ativa-ativa e Sessões Multi-Site, que permite que as sessões permaneçam locais para o usuário, mas se movam entre data centers se o tráfego for redirecionado.