Servidor Couchbase

Dimensionamento de um cluster do Couchbase para aumentar e diminuir a demanda

Quando se trata de dimensionar um banco de dados, essa é uma tarefa que as pessoas geralmente querem evitar. No caso de bancos de dados relacionais, que geralmente são bancos de dados de tamanho vertical, os administradores teriam que colocar o banco de dados off-line e adicionar novo hardware aos servidores. Nesse cenário, qualquer dimensionamento que ocorra é uma operação unidirecional, o que significa que você provavelmente nunca removerá o hardware e reduzirá o dimensionamento. Para bancos de dados NoSQL, que geralmente são bancos de dados distribuídos, o hardware geralmente é removido da equação, mas às vezes ao custo da simplicidade da configuração. Veja o MongoDB, por exemplo, que tem vários nós diferentes que incluem mestre, escravo, réplica e fragmento.

É aqui que Servidor Couchbase entra em cena.

O Couchbase Server é um banco de dados NoSQL distribuído que foi projetado para poder ser dimensionado facilmente. Devido à arquitetura peer-to-peer de nó único, os clusters podem ser ampliados ou reduzidos para atender à demanda com apenas alguns cliques do mouse. Há opções para usar as APIs disponíveis e as ferramentas da CLI, caso a interface do usuário não atenda às suas necessidades.

Veremos exatamente como pode ser fácil dimensionar um cluster ao usar o Couchbase como o banco de dados escolhido em sua organização.

Para este exemplo, vamos explorar o dimensionamento de clusters usando o Docker. Na produção, você pode estar usando qualquer número de soluções para hospedar seus nós. Independentemente do cenário, as etapas de dimensionamento para atender a uma demanda crescente ou decrescente serão as mesmas.

Criação de nós do Couchbase Server com o Docker

Supondo que você já tenha o Docker instalado, será necessário executar os seguintes comandos na CLI do Docker:

Os comandos acima criarão quatro contêineres do Couchbase usando a imagem oficial do Docker encontrada em Docker Hub. Cada contêiner terá um nome diferente e uma porta de host diferente. O Couchbase Server usa muitas portas, mas só precisamos mapear a porta do administrador porque é a única que acessaremos a partir da máquina host. As outras portas podem ser acessadas pelos contêineres dentro da rede de contêineres.

Com os nós disponíveis, podemos criar um cluster e expandi-lo.

Dimensionamento do Couchbase Server para uma demanda crescente

Neste momento, não temos um cluster do Couchbase configurado. Em um navegador da Web, navegue até http://localhost:7091.

Couchbase Server Create or Join

Como este é um novo nó, estaremos configurando um novo cluster. Siga as poucas etapas do assistente de configuração até ser levado ao painel administrativo do Couchbase. Parabéns, você tem um cluster do Couchbase de nó único!

Crie um Bucket, adicione alguns documentos a ele e prossiga.

Avançando para o futuro, vamos supor que sua empresa esteja crescendo. O cluster de nó único não está mais dando conta do recado e você precisa de mais potência. No navegador da Web, navegue até http://localhost:8091, que é um de seus nós não utilizados no momento. Em vez de configurar um novo cluster, vamos nos juntar a um cluster existente.

Couchbase Join Cluster

Será solicitado que você forneça um host de um nó existente no cluster. Como estamos usando o Docker, certifique-se de obter o IP correto do contêiner e não o IP do host. Depois de optar por participar do cluster, você poderá fazer o checkout dos servidores dentro do cluster.

Couchbase Server List

Nesse momento, deve haver dois servidores em seu cluster. A união do cluster existente e o aumento de escala não estão concluídos até que você reequilibre o cluster. Ao rebalancear o cluster, os dados são embaralhados de modo que nenhum nó carregue uma carga excessiva. O cluster permanece disponível durante um rebalanceamento, sem tempo de inatividade.

Digamos que a demanda do seu aplicativo esteja fora de controle e você precise adicionar outro nó ao cluster. Desta vez, faremos algo um pouco diferente. No navegador da Web, navegue até http://localhost:9091, que atualmente é um nó não utilizado. Em vez de entrar no cluster, vamos criar um novo cluster. Quando o cluster estiver configurado, anote o IP do contêiner.

Couchbase Server Add Node

Volte para a lista de servidores do cluster original e escolha adicionar um novo servidor. O novo cluster que você acabou de criar será apagado e adicionado ao cluster original. Lembre-se de que o dimensionamento do cluster não estará concluído até que você faça um rebalanceamento.

Couchbase Server Rebalance

À medida que o cluster e as necessidades de dados aumentam, o rebalanceamento pode demorar um pouco. Lembre-se de que o cluster permanece on-line durante esse período, o que é conveniente para as operações.

Dimensionamento do Couchbase Server para uma demanda cada vez menor

Então, você teve um bom ano, mas digamos que a demanda em seus servidores tenha diminuído. Isso acontece, mas quando isso acontece, você provavelmente não quer ficar preso a pagar por esses recursos que não está usando. Para nossa sorte, reduzir a escala do Couchbase é tão fácil quanto aumentá-la.

Volte para a lista de servidores do seu cluster.

Couchbase Remove Node

Escolha um servidor da lista do qual você deseja se livrar. No entanto, há alguns aspectos que você deve conhecer antes de começar a eliminar nós do cluster:

  • Certifique-se de que seu cluster possa realmente lidar com a carga sem os recursos que tinha antes.
  • Entenda a diferença entre uma situação de remoção e uma situação de failover.

Quando se trata de failover ou remoção, observe que o failover geralmente é para manutenção do nó. Em outras palavras, você está planejando trazer o nó de volta, não se livrar dele para sempre. A remoção de um nó não significa apenas retirá-lo do cluster. Você terá que fazer um rebalanceamento para finalizar a remoção, de modo que os dados não sejam destruídos. Quando o rebalanceamento for concluído, você terá um cluster menor.

Conclusão

Você acabou de ver como é fácil escalar o Couchbase para cima ou para baixo para atender à demanda de seus aplicativos. Embora isso seja possível na maioria das outras soluções de banco de dados, sejam elas relacionais ou NoSQL, elas não se comparam quando se trata do fator de conveniência que Couchbase oferece. Com apenas alguns cliques do mouse, os nós podem ser adicionados ou removidos de qualquer cluster.

Para obter mais informações sobre como usar o Couchbase, consulte o Portal do desenvolvedor do Couchbase.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Nic Raboy, defensor dos desenvolvedores, Couchbase

Nic Raboy é um defensor das modernas tecnologias de desenvolvimento móvel e da Web. Ele tem experiência em Java, JavaScript, Golang e uma variedade de estruturas, como Angular, NativeScript e Apache Cordova. Nic escreve sobre suas experiências de desenvolvimento relacionadas a tornar o desenvolvimento móvel e da Web mais fácil de entender.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.