Topologia de cache espelhado
Em uma topologia Espelhada, um cluster de cache não pode ter mais de dois nós. Por vez, apenas um dos dois nós funciona como nó ativo, enquanto o outro atua como nó passivo. O nó passivo, também conhecido como nó de backup, atenua um único ponto de falha. Quando o nó ativo fica inativo, o nó passivo assume a função do nó ativo e isso garante que não exista nenhum ponto único de falha nesta topologia. As operações de leitura e gravação são executadas no nó ativo e, em seguida, as gravações são replicadas de forma assíncrona no nó passivo ou de backup. Porém, o grau de replicação nesta topologia é limitado a um nó, ao contrário da Topologia Replicada, onde podemos ter múltiplas réplicas.
Note
Este recurso também está disponível em NCache Professional.
Os clusters de cache espelhados são adequados para armazenar em cache pequenas quantidades de dados em que não se espera que a carga do usuário cresça. A topologia não é escalável para operações de leitura ou gravação, pois todas as operações do cliente são executadas apenas no nó ativo do cluster. No entanto, a topologia fornece algum tipo de alta disponibilidade por meio da replicação para o nó de backup. Quando o nó ativo sai do cluster, o nó passivo assume automaticamente a função do nó ativo e todos os aplicativos cliente começam a se comunicar com esse novo nó ativo.
Seleção de nó ativo no cache espelhado
O nó mais antigo do cluster é considerado o nó ativo do cluster. Você também pode escolher o nó ativo quando o cluster estiver parado ou em execução, mas se você alterar o nó ativo de um cluster em execução, será necessário reiniciar o cluster para que suas alterações tenham efeito. Depois que o nó ativo sai do cluster, o nó passivo correspondente se torna o nó ativo automaticamente. Quando o nó anteriormente ativo volta a ficar online, ele se junta ao cluster como o nó passivo.
Replicação Assíncrona
O cliente se conecta diretamente apenas ao nó ativo do cluster, enquanto o segundo nó (nó passivo) do cluster possui um backup do nó ativo. O nó ativo do cluster é responsável por manter o backup no nó passivo. Todas as operações de gravação no nó ativo são replicadas através da fila em segundo plano para o nó passivo. Cada operação de gravação é enfileirada e os threads de segundo plano dedicados selecionam os dados dessa fila em pedaços e os replicam para o nó passivo. O cliente obtém uma resposta das operações de gravação logo após serem executadas com sucesso no nó ativo. A operação é enfileirada e replicada posteriormente para o nó passivo.
Note
Deve-se observar que o aplicativo cliente não sofrerá nenhuma degradação no desempenho enquanto as operações forem replicadas de forma assíncrona do nó ativo para o passivo.
Como a replicação de dados ocorre de forma assíncrona, existe a possibilidade de perda de dados. Se o nó ativo ficar inativo sem replicar as operações na fila, ocorrerá perda de dados.
Função do Servidor Coordenador
O nó do servidor ativo do cluster de cache atua como servidor coordenador. O servidor coordenador é responsável por executar múltiplas tarefas, como transferência de estado, operações write-behind, invalidações de dados (expirações e dependências), etc. Após decidir remover qualquer um dos itens do cache, ele solicita ao outro nó (nó passivo) para removê-los de seu armazenamento de cache também. Quando o servidor coordenador (nó ativo) sai do cluster de cache, o nó passivo se torna o servidor coordenador e retoma suas responsabilidades.
Conectividade do cliente
Na Topologia Espelhada, o cliente se conecta apenas ao nó ativo do cluster. Ou seja, as conexões do cliente estão bloqueadas no nó passivo do cluster. O cliente não precisa estabelecer conexão com ambos os nós (ativo e passivo) do cluster, pois contêm os mesmos dados. Conforme afirmado anteriormente, quando o nó ativo fica inativo, o nó passivo automaticamente se torna o nó ativo e o cliente estabelece automaticamente uma conexão com ele.
Transferência de Estado
A transferência de estado é acionada quando o segundo nó se junta ao cluster de cache na topologia espelhada. Nesse caso, o servidor coordenador (nó ativo) sincroniza seus dados com o segundo nó (passivo).
Veja também
Topologias Particionadas
Topologia replicada
Cluster de cache
Cache Local