Nesta era de processamento de aplicativos rápido e confiável, todos estão optando pelo cache distribuído para obter o melhor desempenho de seus aplicativos. Se seus aplicativos da web atraem alto tráfego causando transações extremamente altas, então você definitivamente precisa NCache.
NCache é uma solução de cache distribuído na memória que fornece escalabilidade linear para aplicativos .NET e Java. Entre vários topologias que NCache oferece, o mais popular é Réplica-Particionada topologia. A topologia de réplicas particionadas oferece o melhor dos dois mundos, escalabilidade linear e alta disponibilidade.
No cluster Partitioned-Replica, os dados são particionados e replicados em todos os nós. Portanto, se um nó do servidor ficar inativo, seus clientes podem continuar com suas operações interagindo com sua contraparte de réplica. Assim que um nó fica inativo, o processo de transferência de estado é acionado para reequilibrar automaticamente os dados órfãos. Agora, suponha que você tenha um cluster de réplica particionada e exija que um dos nós seja interrompido para manutenção, sabendo que você reiniciará esse nó não muito tempo depois? Vamos ver o que é esse comportamento e como pode ser um desafio para você.
NCache Adicionar ao carrinho Réplica-Particionada NCache Docs Modo de Manutenção NCache Docs
Desafios de reequilíbrio automático durante a manutenção
Sempre que um nó é interrompido em um cluster de réplica particionada; a transferência de estado é acionada para reequilibrar os dados em todo o cluster. Esse processo pode levar mais tempo do que o previsto, o que afeta o desempenho do seu aplicativo, especialmente quando os nós contêm dezenas de gigabytes de dados.
A figura a seguir explica o comportamento do cluster de réplicas particionadas quando um nó é interrompido.
Nesta figura, você tem um NCache Cluster de réplica particionada com três nós. Aqui, cinco estágios foram introduzidos para explicar o que acontece quando um nó é interrompido em um cluster.
- Estágio 1: NCachePartitioned-Replica com três nós, A, B e C, cada um com um nó ativo e um nó de réplica.
- Estágio 2: O nó C é brevemente parado para manutenção. Seu ativo e sua réplica não fazem mais parte do cluster e a transferência de estado é acionada.
- Estágio 3: Dados redistribution no cluster (totalmente desnecessário). Aqui, os dados órfãos do nó C são divididos entre os nós restantes A e B após a interrupção da transferência de estado. De acordo com essa divisão, seus nós de réplica também são atualizados. Essa transferência de estado é totalmente desnecessária porque o nó parado será reiniciado em breve.
- Estágio 4: O nó C é reiniciado. O cluster, neste estágio, se comporta como se o nó C tivesse deixado o cluster. Depois dos dados redistribution, o Node C é iniciado novamente.
- Estágio 5: o nó C se junta ao cluster e novamente faz os dados redistribulação. Como seus dados já haviam sido distribuídos entre A e B, portanto, quando C se junta novamente, a transferência de estado é acionada em todo o cluster novamente para atribuir novos dados aos nós.
Idealmente, esta parece ser a solução perfeita. Você interrompe um nó, ocorre a transferência de estado. Você corrige o que deseja corrigir e inicia esse nó novamente. A transferência de estado é novamente acionada para equilibrar todos os buckets.
Mas por que essa não é a solução ideal? O que há de errado aqui?
Existem várias desvantagens de solicitar a transferência de estado desnecessariamente. Eles estão:
- Alto custo devido a várias chamadas de rede e sobrecarga de processamento.
- Alta complexidade de tempo quando os nós armazenam uma grande quantidade de dados.
- Comportamento errôneo quando um nó é reiniciado durante a transferência de estado e leva à transferência de estado dentro da transferência de estado.
NCache Adicionar ao carrinho Réplica-Particionada NCache Docs Modo de manutenção-NCache Docs
A solução: Réplica particionada com reconhecimento do modo de manutenção
Levando em consideração todos esses contratempos de transferência de estado desnecessária que ocorre sempre que um nó sai e se junta a um cluster, NCache fornece-lhe Modo de Manutenção.
O modo de manutenção permite interromper um nó por um período específico e iniciá-lo quando sua manutenção terminar. Esse modo garante que durante o tempo em que um nó está passando por manutenção, o encadeamento de transferência de estado não seja acionado dentro do cluster. Além disso, é extremamente benéfico quando o cluster compreende uma grande quantidade de dados.
Como o Modo de Manutenção é diferente da parada normal de um nó, é explicado na figura a seguir.
- Etapa 1: a estrutura da topologia de réplicas particionadas of NCache é mostrado onde um cluster POR compreende três nós de servidor que contêm uma grande quantidade de dados.
- Estágio 2: O nó C parou. O nó C é parado para manutenção através do Modo de Manutenção.
- Estágio 3: Dados redistributação. Aqui, a réplica de C se torna ativa e começa a endereçar os clientes do nó C. Isso elimina a necessidade de acionar a transferência de estado, portanto, o encadeamento de transferência de estado é interrompido enquanto o cluster estiver em manutenção. Isso resolve o problema enfrentado quando a transferência de estado desnecessária equilibra os dados no cluster depois que o nó C é interrompido.
- Estágio 4: Nó C reiniciado. Após ser parado para fins de manutenção, o nó C aguarda para ser reiniciado. Sempre que o cluster sai do modo de manutenção, o nó C é iniciado.
- Etapa 5: Transferência de dados. É aquela fase do cluster em que o Nó C recebe todos os dados de sua parte de réplica e atualiza todo o nó (ou seja, Active C e Réplica B) por meio de transferência de estado.
NCache Adicionar ao carrinho Réplica-Particionada NCache Docs Modo de manutenção-NCache Docs
Como parar um nó para manutenção
Você pode parar um nó para manutenção usando o Web Manager ou PowerShell. Veja como você pode parar um nó para manutenção do seu Web Manager. Ao parar um nó, é solicitado que você mencione o tempo de manutenção durante o qual deseja manter esse nó em manutenção. Este tempo limite é considerado como um período para o qual nenhuma transferência de estado pode ser acionada.
As etapas a seguir permitem que você pare qualquer nó que você deseja parar para manutenção.
- Acesse seu NCache Web Manager
- Vá para Caches Clusterizados e selecione o cluster que precisa de manutenção
- Entre seus vários nós, selecione aquele que requer manutenção.
Vá para suas configurações e selecione a opção Parada para manutenção.
Como sair de um nó do modo de manutenção
Quando um cluster entra no Modo de Manutenção, o Web Manager é usado para sair desse cluster. Seguem os passos que precisam ser seguidos:
- De você NCache Web Manager, vá para Caches Clusterizados
- Selecione o cluster que está em manutenção.
- Vá para suas configurações e selecione Sair do modo de manutenção.
Além do Web Manager, há várias maneiras pelas quais um nó pode sair do modo de manutenção. Esses cenários precisam ser levados em consideração, pois alguns podem afetar o desempenho do seu aplicativo.
Um nó pode sair do modo de manutenção nos seguintes casos:
- Quando o nó em manutenção é iniciado: Se o nó que está em manutenção for iniciado manualmente, por meio do gerenciador ou do comando do PowerShell, esse nó sairá do Modo de Manutenção.
- Quando o tempo limite expirar: Quando o tempo limite fornecido para manutenção expira, a transferência de estado é acionada e o cluster sai automaticamente do modo de manutenção.
- Quando um nó sai do cluster: Nenhum nó pode deixar um cluster normalmente enquanto estiver em manutenção. Mas se um dos nós desse cluster sair com força, esse cluster inevitavelmente sairá do Modo de Manutenção, apesar de ainda estar em processo de manutenção. Aqui, o ponto que você deve prestar atenção é que se o próprio nó que estava em manutenção sair, há grandes chances de perda de dados.
Não importa qual método você use para sair do modo de manutenção, esse sinal sozinho é a indicação para o encadeamento de transferência de estado acionar o processo de balanceamento automático em todo o cluster.
Resumindo
Se você deseja uma maneira de acomodar patches em seu cache clusterizado de réplicas particionadas sem comprometer o desempenho do aplicativo, confira NCache Modo de manutenção. O Modo de Manutenção permite que você corrija um bug, adicione um patch, atualize software ou hardware, sem introduzir qualquer tempo de inatividade do aplicativo. Tudo o que você precisa fazer é seguir os passos mencionados acima e verificar por si mesmo como é extraordinário NCache O modo de manutenção é.
NCache Adicionar ao carrinho Comparação de edições NCache Baixar