Topologia de cache de réplica
Em um cluster, se todos os nós do servidor tiverem a mesma cópia de dados, isso nos dará alta disponibilidade. Isso significa que o cluster pode sobreviver a algumas falhas de nó sem perder dados. Para este efeito, NCache fornece a Topologia Replicada para garantir que os dados do usuário não sejam perdidos - mesmo se vários servidores falharem ao mesmo tempo. Essa topologia permite que você tenha vários servidores e cada servidor tenha a mesma cópia de dados. Portanto, cada servidor é a réplica exata um do outro. Conseqüentemente, a falha de vários servidores ao mesmo tempo não causa perda de dados.
Note
Este recurso também está disponível em NCache Professional.
Sincronizar replicação
Sempre que um cliente executa uma operação de gravação (acrescenta, novidadesou remove), essa operação será transmitida por todo o cluster para replicar essa operação em todos os servidores de cache antes de retornar o controle ao cliente. O servidor que recebe as operações do cliente é responsável por transmitir essas operações. Durante este processo, um token de sequência é obtido do servidor coordenador e associado à operação atual para garantir que esta operação seja executada em todos os servidores na mesma sequência para obter consistência de dados.
Se uma operação de gravação transmitida falhar em qualquer servidor de cache, sua falha também será transmitida para todos os servidores de cache para remover esses dados. Isso é feito para obter consistência de dados em todo o cluster, o que significa que, se houver dados no cache, todos os servidores terão os mesmos dados.
Como a replicação é feita de forma síncrona, o que significa que essa topologia não é adequada para operações de gravação porque mais servidores exigem mais tempo para que os dados sejam replicados para todos os servidores de cache antes de retornar o controle ao aplicativo gravador. Recomenda-se limitar o tamanho do cluster a 3 servidores se não quiser sofrer qualquer degradação no desempenho das operações de escrita.
Função do Servidor Coordenador
O servidor Coordenador (o nó de servidor mais antigo) executa várias tarefas, como transferência de estado, operações de gravação, invalidações de dados como vencimentos e dependências, etc. Depois de decidir remover qualquer um dos itens do cache, ele solicita a todos os outros nós que removam esses itens de seu armazenamento de cache também. Quando o servidor coordenador sai do cluster, o próximo servidor mais antigo se torna o servidor coordenador e retoma suas responsabilidades.
Operações de leitura totalmente escaláveis
Como todos os servidores possuem os mesmos dados, os clientes são distribuídos entre todos os servidores de cache. Assim, cada servidor fornece os mesmos dados para os clientes. Mais servidores no cluster significam que mais solicitações de leitura de dados são atendidas simultaneamente.
Balanceamento de carga de conexão
A topologia replicada possui um recurso especial para conexões de cliente de balanceamento automático entre os servidores para compartilhar a carga de dados entre os servidores de cache. Quando um cliente se conecta a um servidor, este servidor verifica se todos os outros nós do servidor também possuem o mesmo número de clientes. Se outros servidores tiverem menos clientes, ele rejeitará normalmente a solicitação de conexão do cliente e a redirecionará para outros servidores. Dessa forma, todos os servidores possuem o mesmo número de clientes e nenhum servidor fica sobrecarregado com mais clientes em comparação com os demais servidores de cache.
Conectividade do cliente
Na Topologia Replicada, um cliente está conectado apenas a um servidor de um cluster por vez. Se o servidor conectado ficar inativo, o cliente se conectará automaticamente a outro servidor do cluster sem qualquer intervenção humana.
Transferência de Estado
Uma transferência de estado é acionada na entrada e saída do nó na topologia replicada. A transferência de estado acionada quando um nó sai do cluster não faz muita coisa, pois todos os nós possuem os mesmos dados. Mas, na junção do nó, um nó recém-ingressado solicita ao servidor coordenador que forneça todos os dados armazenados em cache para sincronizar-se com o restante do cluster.
Veja também
Topologias Particionadas
Topologia espelhada
Cluster de cache
Cache Local