Servidor Couchbase

Dimensionamento do Couchbase Server no Azure

O dimensionamento é um dos pontos fortes do Couchbase Server. É fácil dimensionar, e a arquitetura do Couchbase faz uso eficiente dos seus recursos de dimensionamento. De fato, quando o Viber, cliente do Couchbase, mudou do Mongo para o Couchbase, eles reduziram o número de servidores necessários pela metade.

Esta postagem do blog é a terceira de uma série (solta) de postagens sobre o Azure.

A primeira postagem mostrou a você o benefícios de computação sem servidor no Azure com o Couchbase.

A segunda postagem mostrou um exemplo concreto de criação de um chatbot usando as funções do Azure e o Couchbase Server.

A postagem anterior usou apenas um cluster com um único nó para fins de demonstração. Agora, suponha que você já esteja em produção há algum tempo e que seu chatbot esteja começando a ficar muito popular. Você precisa aumentar a escala do seu cluster do Couchbase. Se você implementou o Couchbase a partir do Mercado do AzureÉ muito fácil. Resumindo: você praticamente só move um controle deslizante. Mas esta postagem o guiará por todos os detalhes:

  1. Criação de um cluster totalmente novo com 3 nós.

  2. Dimensionamento do cluster para até 5 nós.

  3. Dimensionamento do cluster para 4 nós.

Criar um cluster do Couchbase no Azure

Supondo que você tenha uma conta do Azure, faça login no portal. Se você ainda não tiver,
Começar a usar o Azure é fácil e gratuito
.

Depois de fazer login, clique em "+ New" e procure o Couchbase Server no marketplace. Estou usando BYOL (traga sua própria licença) para demonstração, mas há também uma opção de "Preço por hora" que vem com suporte de prata.

Couchbase in the Azure Marketplace

Depois de selecionar o Couchbase, você será conduzido a um assistente de instalação do Azure. Clique no botão "Create" (Criar) para começar.

Azure step 0 - create

A etapa 1 é o "Básico". Preencha o nome de usuário e a senha que deseja para o Couchbase, o nome de um grupo de recursos e um local (escolhi o centro-norte dos EUA porque fica perto de mim geograficamente). Não se esqueça de anotar essas informações, pois você precisará delas mais tarde.

Azure step 1 - basics

A próxima etapa é a configuração do Couchbase. Há alguns tipos de VM recomendados para uso. Optei pelo DS1_V2 para manter esta postagem de blog barata, mas você provavelmente vai querer pelo menos 4 núcleos e 4 GB de RAM para seu ambiente de produção. Também optei por não instalar nenhum Sync Gateway Nodes, mas se você planeja usar o Couchbase Mobile, também precisará deles. Estou pedindo um total de 3 nós para o Couchbase Server.

Azure step 2 - Couchbase Config

Depois disso, a etapa 3 é apenas um resumo das informações que você inseriu.

Azure step 3 - summary

A última etapa é "comprar". Isso mostra os termos. Um botão "Create" é tudo o que resta.

Azure step 4 - buy

Agora, o Azure trabalhará no provisionamento de 3 VMs, na instalação do Couchbase Server nelas e na criação de um cluster. Isso levará um pouco de tempo. Você receberá uma notificação do Azure quando isso for concluído.

Azure provisioning VMs

Você deve ter tempo suficiente para comprar uma boa bebida.

Usando seu cluster do Couchbase

Quando o Azure terminar a implantação, vá até "Grupos de recursos" no portal do Azure. Encontre seu grupo de recursos. O meu se chama my_cb_resource_group.

Azure resource groups

Clique no grupo de recursos. Dentro desse grupo de recursos, você verá 4 coisas:

  • grupos de segurança de rede (essas são regras de firewall, basicamente)

  • vnet (a rede em que todos os recursos do grupo estão)

  • servidor (instâncias do Couchbase Server)

  • porta de sincronização (Instâncias do Couchbase Sync Gateway. Não solicitei nenhuma, portanto, este é um agrupamento vazio)

Azure resource group drill down

Primeiro, clique em "server" (servidor) e depois em "instances" (instâncias). Você deverá ver 3 servidores (ou o número que você provisionou).

Couchbase Servers provisioned

Em seguida, clique em "implantações". Você verá um para o Couchbase listado. Clique nele para obter mais informações sobre a implantação.

Azure deployment

A próxima tela informará o URL necessário para acessar a interface do usuário do Couchbase Server (e a interface do usuário do Sync Gateway, se você a tiver instalado). Ele deve se parecer com algo como: http://vm0.server-foobarbazqux.northcentralus.cloudapp.azure.com:8091.

Azure deployment info

Cole esse URL em um navegador. Você será levado à tela de login do Couchbase Server. Use as credenciais que você especificou anteriormente para fazer login.

Couchbase Server login

Depois de fazer login, clique em "servers" (servidores). Você verá os três servidores listados aqui. As URLs corresponderão às implantações que você vê no portal do Azure.

Vamos colocar alguns dados nesse banco de dados! Vá para Settings → Sample Buckets (Configurações → Compartimentos de amostras) e carregue o compartimento "travel-sample" (amostra de viagem).

Load sample data

Esse exemplo de dados contém 31591 documentos. Quando o carregamento estiver concluído, volte para "servers". Você pode ver como os "itens" (e itens de réplica) estão distribuídos igualmente entre os três servidores. Cada nó no Couchbase pode fazer leituras e gravações, portanto, essa não é uma situação de conjuntos de réplicas mestre/escravo ou somente leitura.

Couchbase servers

Aumento de escala

Agora, vamos supor que o seu aplicativo esteja realmente decolando e que você precise aumentar a escala para fornecer capacidade, armazenamento e desempenho adicionais. Como estamos usando o Couchbase implantado a partir do marketplace do Azure, isso é ainda mais fácil do que o normal. Vá para o portal do Azure, volte para o grupo de recursos e clique em "servidor" novamente. Agora, clique em "dimensionamento"

Azure scaling

Em seguida, você verá um controle deslizante que pode ser ajustado para adicionar mais instâncias. Vamos aumentar para 5 servidores no total. Certifique-se de clicar em "salvar".

Azure scaling slider

Agora, volte para "instâncias" novamente. Observação: talvez seja necessário atualizar a página. O Azure não parece querer atualizar a página obsoleta servida ao navegador por conta própria. Agora você verá servidor_3 e servidor_4 em status de "criação".

Scaling additional servers

Você precisará esperar que eles sejam implantados pelo Azure. Enquanto isso, você pode voltar para a interface do usuário do Couchbase Server e esperar que eles apareçam lá também.

New Couchbase Server nodes

Ao adicionar novos servidores, o cluster deve ser reequilibrado. A implantação do Azure deve tentar fazer isso automaticamente (mas, caso falhe, você também pode acionar o reequilíbrio manualmente).

Couchbase rebalancing

Durante esse período de rebalanceamento, o cluster ainda estará acessível a partir de seus aplicativos. Não haverá tempo de inatividade. Após o término do rebalanceamento, você poderá ver que o # de itens em cada servidor foi alterado. Ele foi redistribuído (junto com as réplicas).

Cluster after rebalance

É isso aí. Basicamente, é só mover um controle deslizante e esperar alguns minutos.

Diminuição de escala

Em algum momento, você pode querer reduzir a escala do seu cluster. Talvez você precise de 5 servidores durante uma determinada parte do ano, mas só precise de 3 em outras partes, e gostaria de economizar algum dinheiro na sua conta do Azure.

Mais uma vez, trata-se apenas de ajustar o controle deslizante. No entanto, é uma boa ideia reduzir um servidor de cada vez para evitar qualquer risco de perda de dados.

Scaling down slider

Quando você reduzir a escala, o Azure escolherá uma VM para desativar. O Couchbase Server pode responder de duas maneiras:

  • O comportamento padrão é simplesmente indicar que um nó está inativo. Isso poderia acionar um alerta por e-mail. Ele será exibido como "down" na interface do usuário.

  • Autofailover pode ser ativado. Isso significa que, quando um nó estiver inativo, o cluster do Couchbase o considerará automaticamente como "falho", promoverá as réplicas em outros nós e reequilibrará o cluster.

Vou deixar o auto-failover desativado e mostrar o comportamento padrão.

Primeiro, o servidor mostrará um status de "excluindo" no portal do Azure.

Scaling down - deleting

Logo depois, o Couchbase reconhecerá que um nó não está respondendo. Ele sugerirá failover para "ativar réplicas disponíveis".

Couchbase failing node

Vou prosseguir e fazer exatamente isso.

Manual failover

Depois que ele for removido do cluster, você precisará acionar um "rebalanceamento".

Manual rebalance

Resumo e recursos

O dimensionamento de um cluster do Couchbase no Azure é simplesmente uma questão de usar o controle deslizante.

Se estiver reduzindo a escala, considere fazer isso em um nó de cada vez.

Para obter mais informações, confira estes recursos:

Se tiver dúvidas, entre em contato comigo em Twitter @mgroves ou deixe um comentário.

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

Autor

Postado por Matthew Groves

Matthew D. Groves é um cara que adora programar. Não importa se é C#, jQuery ou PHP: ele enviará solicitações de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente sênior de marketing de produtos da Couchbase. Seu tempo livre é passado com a família, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele é autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.

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.