Modo de Manutenção
NCache suporta o modo de manutenção para o Réplica de partição topologia, que é a topologia de cache mais comumente usada.
O modo de manutenção foi introduzido para acomodar patches ou atualização de hardware/software em servidores de cache. Um fluxo de trabalho típico de atualização envolve parar um nó de cache por vez, atualizar o servidor e reiniciar o(s) cache(s) nele. Este procedimento de atualização evita tempo de inatividade do aplicativo. No entanto, parar um nó de cache aciona a transferência de estado dentro de todo o cluster de cache, resultando no uso excessivo de recursos como rede e CPU.
NCache o modo de manutenção resolve esse problema interrompendo a transferência de estado se um nó for interrompido temporariamente para manutenção. Depois que um nó é especificamente interrompido para manutenção, ele informa ao cluster de cache em execução para interromper a transferência de estado por um determinado período de tempo limite. Quando um cluster está no modo de manutenção, as solicitações de dados do cliente para o nó interrompido são atendidas a partir de seu nó de réplica. Depois que o nó interrompido volta a ingressar no cluster, ele transfere dados de seu nó de réplica.
Como funciona o modo de manutenção
Considere um cluster de três nós conforme mostrado abaixo. Se o nó 3 estiver marcado para manutenção, a transferência de estado será interrompida por um tempo limite específico enquanto quaisquer operações forem atendidas a partir de sua réplica no nó 1. Durante o período de manutenção, a réplica do nó de manutenção atua como sua partição ativa. Isso acontece sem a intervenção de nenhum cliente e garante que as operações do cliente funcionem sem problemas, mesmo se um nó for interrompido para manutenção.
Tempo limite e transferência de estado
O tempo limite, configurado pelo usuário, serve como um período de espera para a thread de transferência de estado. Esse encadeamento espera que o cluster saia do modo de manutenção juntando-se novamente ao nó ou não juntando-se. Há dois resultados neste caso:
O nó 3 não se junta novamente ao cluster dentro do tempo limite:
Neste caso, a tarefa de transferência de estado será iniciada entre os nós restantes (Nó 1 e Nó 2) e eles retornarão ao seu estado normal.
Observe que, se nesse caso o Nó 2 sair abruptamente do cluster, poderá ocorrer perda de dados, pois sua réplica existia no Nó 3.
O nó 3 se junta novamente ao cluster dentro do tempo limite:
Se o Nó 3 se juntar novamente dentro do período de tempo limite, a transferência de estado será iniciada para retomar o estado original do cluster. Essa transferência de estado agora consiste em duas etapas:
- Nó 1 (réplica do Nó 3) --> Nó 3 (partição ativa do Nó 3)
- Nó 2 (partição ativa do Nó 2) --> Nó 3 (réplica do Nó 2)
Comportamento
São necessários no mínimo dois nós para marcar um cluster para manutenção.
Se um cluster tiver sido marcado para manutenção, nenhum nó poderá ser adicionado ou removido do cluster por meio do NCache Centro de gerenciamento ou ferramentas.
Se um cluster tiver sido marcado para manutenção, nenhum outro nó, exceto o nó que foi interrompido para manutenção, poderá ser iniciado. Suponhamos que o Nó 3 já esteja parado e o Nó 2 esteja marcado para manutenção, você só poderá iniciar o Nó 2.
Ao parar/iniciar um nó que não foi parado para manutenção, será lançada a exceção: "Cluster já em manutenção".
Se a transferência de estado já estiver em andamento por nó inativo ou ativo, você não poderá marcar um cluster para manutenção. A seguinte exceção será lançada: "O cluster não está disponível para manutenção, transferência de estado ou alteração de estado do cluster em processo."
Os usuários podem verificar se um cluster está em transferência de estado ou não por meio de contadores de transferência de estado ou observando os arquivos de log de cache em
%NCHOME%/log-files
(Windows) ou\opt\ncache\log-files
(Linux). "A transferência de estado foi concluída" será registrada nos arquivos de log.Depois que um cluster é marcado para manutenção, os logs de cache têm o log de "Cluster marcado sob manutenção do nó: [IP]:[Porta] para xx:xx:xx {HH:MM:SS)."
Um cluster pode sair do modo de manutenção nos seguintes cenários:
- O nó marcado para manutenção é reiniciado.
- O tempo limite para o modo de manutenção ocorre.
- A opção "Sair do modo de manutenção" é selecionada através do NCache Centro de Gerenciamento.
- Um nó sai do cluster abruptamente.
Assim que o cluster sair do modo de manutenção, a transferência de estado será iniciada.