Um dos principais atributos do Couchbase Server é sua simplicidade quando se trata de implementar e gerenciar um cluster. A alteração da topologia de um cluster pode ser feita de forma simples no Couchbase por meio de algumas ações e alguns estados, e é isso que apresentarei neste post.
Cada nó é idêntico no Couchbase Server nos binários que carrega e nos serviços que fornece. À medida que mais nós são adicionados ao cluster, eles herdam principalmente as configurações do primeiro nó, embora você tenha opções para definir determinadas configurações por nó, como o local do arquivo de dados.
O primeiro nó do Couchbase Server começa a vida com a inicialização de um cluster. A configuração inicial captura as configurações de todo o cluster, os buckets de amostra e a definição da senha de administrador para o cluster. Adicionar servidor, remover servidor, reequilibrar e fazer failover são os principais verbos que fazem com que os nós transitem entre os estados. Esses verbos funcionam em nós na versão 3.0.
Active e Inactive apresentam os estados estáveis dos nós. Ativo significa que um nó faz parte do cluster e está recebendo tráfego. Inativo é um nó que não faz mais parte do cluster e não está recebendo tráfego. Todos os outros estados têm uma finalidade importante, portanto, vamos dar uma olhada mais profunda;
Adicionar e remover servidor são operações óbvias. No entanto, há um aspecto importante a ser observado: essas operações não confirmam imediatamente a alteração na topologia, mas colocam o nó em um estado pendente de adição/remoção. O failover funciona de maneira semelhante. Failover é o verbo que causa a promoção de réplicas para mestres - se você tiver replicast para fazer failover. Ele também coloca o nó em um estado de falha e não o desativa imediatamente.
Por que precisamos desses estados intermediários? Bem, se você quiser ser eficiente na movimentação de dados, deverá fazer todas as alterações na topologia e confirmar todas as alterações de uma só vez para concluir a transição na etapa de movimentação de dados! Essa única movimentação para todas as alterações é obviamente muito mais eficiente do que muitas movimentações intermediárias de dados.
Reequilíbrio é o verbo que confirma a alteração da topologia e inicia a movimentação de dados com a criação ou reconstrução de réplicas dentro do cluster. O rebalanceamento tem muitos recursos inteligentes, como a capacidade de detectar o fato de que você está fazendo um número igual de servidores de adição e remoção. Esse caso é chamado de rebalanceamento de troca e não requer movimentação de dados em nós que não estejam em estado de remoção ou adição pendente.
A maior parte disso não surpreende muitas pessoas, exceto uma coisa nesta imagem (até mesmo alguns dos veteranos estão surpresos com isso). Essa única surpresa é a operação de remoção do servidor e o fato de que a ação de remoção do servidor não tira um nó da rotação imediatamente. Um nó em estado de remoção pendente ainda recebe tráfego até que um rebalanceamento seja emitido. Se estiver fazendo uma entrevista no Couchbase, fique atento à pergunta capciosa sobre esse tópico!
A propósito, na próxima versão do produto, estamos planejando fazer algumas mudanças importantes nessa área. Se estiver interessado em dar feedback, sinta-se à vontade para entrar em contato comigo pelo e-mail cihan@couchbase.com.
Aproveite!
O interruptor elétrico de viagem pode ser instalado em objetos relativamente estacionários ou em objetos em movimento, o interruptor de viagem soquete do interruptorOs contatos que abrem e fecham mudam de estado para o circuito de controle e os movimentos do corpo. Na produção real, o interruptor elétrico instalado no local pré-arranjado será acionado, quando instalado na produção de peças móveis mecânicas no módulo, atingindo o interruptor de limite quando o interruptor elétrico disjuntores esporte de contato, na realização da comutação do circuito.