Split-Brain na medicina refere-se ao estado de mau funcionamento da comunicação dentro do cérebro; onde metade do cérebro não tem conhecimento do comportamento da outra metade. Split-Brain em computação distribuída refere-se à perda de comunicação entre os servidores ativos de um cluster. Quando isso acontece, todos os subclusters perdem todas as conexões de sincronização e pulsação entre si.
Assim como em um cérebro em funcionamento, as chances de Split-Brain ocorrer em seu sistema distribuído são exatamente as mesmas. Se tal calamidade acontecer com seu sistema distribuído, será um verdadeiro horror para o administrador do sistema e não há como se recuperar disso. A menos que você esteja usando NCache como seu cache distribuído. Só então você tem esperança.
Cérebro Dividido em NCache Agrupar
NCache cria clusters dinâmicos de autorrecuperação com servidores que são interconectados para comunicação entre clusters. Mas como qualquer sistema distribuído, o NCache cluster também pode enfrentar Cérebro dividido problema em que um ou mais servidores de cache são desconectados do restante do cluster e formam subclusters. E assim como o cérebro, seu cluster é dividido em metades e cada uma não sabe nada sobre a existência da outra.
NCache Adicionar ao carrinho Arquitetura de cérebro dividido Recuperação do cérebro dividido em NCache
Vamos pegar um cluster de 5 nós como exemplo. O cluster funciona bem, armazenando em cache, comunicando-se, processando, mas do nada surge uma falha de rede que divide o cluster em execução perfeita em dois.
Quando isso acontece no cluster, ambas as metades do cluster começam a agir independentemente, assumindo que a outra metade caiu, resultando em subclusters independentes.
Esse comportamento fará com que ambas as metades tenham sua própria cópia dos dados que estão sendo atualizados pelos clientes sem nenhuma sincronização. Isso anula o propósito de usar um cache distribuído quando há falhas na operação do cache e problemas de integridade de dados em seu aplicativo.
NCache Adicionar ao carrinho Arquitetura de cérebro dividido Recuperação do cérebro dividido em NCache
como funciona NCache Recuperar do cérebro dividido?
A primeira etapa da recuperação do Split-Brain é detectá-lo no cluster. E sorte sua, NCache tem a capacidade de detectar automaticamente a ocorrência de cérebro dividido. Aqui está como.
NCache mantém a associação de cluster em todos os servidores de cache que compõem um cluster. Assim, sempre que a conexão entre os servidores é interrompida, todo o cluster é notificado. Ambas as metades (subclusters) assumem que são o cluster sobrevivente e começam a trabalhar independentemente com os dados armazenados. Além de agir individualmente para não prejudicar o desempenho, os subclusters também continuam tentando se reconectar com o “cluster perdido” para reunir o cluster inicial. Enquanto isso, ambos os subclusters registram eventos no Log de Eventos do Windows, indicando o estado do cluster. Os subclusters também podem notificar o administrador do cache por meio de notificações por email que a conexão com determinados servidores foi perdida.
Até este ponto, nenhuma das metades realmente percebe que encontrou um cérebro dividido. É somente quando a conexão de rede é restaurada que eles finalmente entendem a causa da divisão do cluster.
Quando a conexão é restaurada e os servidores começam a se comunicar uns com os outros, é quando a decisão de quem será o cluster “vencedor” precisa ser tomada. O cluster vencedor é basicamente o cluster que atende ao seguinte critério de ordenação:
- O subcluster que contém o número máximo de nós. Isso é feito para garantir a perda mínima de dados.
- Caso os tamanhos de ambos os sub-clusters sejam iguais, o sub-cluster cujo nó coordenador tiver um endereço IP menor será considerado como cluster vencedor.
Uma vez decidido, é responsabilidade do cluster vencedor reiniciar o cluster “perdedor” e redisdados de tributo entre os novos nós. Através de tudo isso redistribution, o cluster perdedor perderá seus dados, mas pelo lado positivo, o cluster vencedor persistirá seus dados.
NCache Adicionar ao carrinho Arquitetura de cérebro dividido Recuperação do cérebro dividido em NCache
Ativando a recuperação automática de cérebro dividido
Por padrão, o recurso Split-Brain Auto Recovery do NCache está desabilitado. Você deve habilitar esse recurso se seus dados não puderem suportar a perda completa. Abaixo estão as maneiras pelas quais você pode habilitar Recuperação automática de cérebro dividido para o seu cluster.
utilização NCache Web Manager
Você pode habilitar facilmente o Split-Brain Recovery para seu cluster de cache usando o NCache Gerenciador Web. Siga a ajuda fornecida em Ativar recuperação automática de cérebro dividido para ativar esse recurso.
Usando o arquivo de configuração de cache
A recuperação de cérebro dividido pode ser habilitada por meio de NCache arquivos de configuração. Edite manualmente o configuração de cache arquivo seguindo os passos mencionados aqui: Editar manualmente NCache Configuração para recuperação de cérebro dividido.
1 2 3 |
<cache-settings...> <split-brain-recovery enable="True" detection-interval="60"/> </cache-settings> |
NCache Adicionar ao carrinho Arquitetura de cérebro dividido Ativar recuperação automática de cérebro dividido
Em poucas palavras…
Às vezes, no meio do processamento de dados, seu cluster de cache encontra uma falha de rede que divide seu cluster em subclusters. Essa divisão, por mais lógica que seja, ainda representa uma ameaça aos seus dados armazenados em cache. Todo esse cenário se assemelha ao termo médico Síndrome do Cérebro Dividido. Para corrigir os possíveis danos que essa síndrome inflige ao seu cluster, NCache oferece um remédio na forma do recurso Split-Brain Auto Recovery. Se você tem NCache então você não precisa se preocupar em gerenciar seu cluster depois que ele for dividido em duas metades. NCache sempre salva o dia.
NCache Adicionar ao carrinho NCache Baixar Comparação de edições