Quando se trata de bancos de dados, a segurança e o desempenho dos dados são extremamente importantes. Como empresa, você quer ter certeza de que a recuperação de desastres está em vigor e que o banco de dados não é um gargalo para o restante dos aplicativos e necessidades comerciais.

Quando se trata de desempenho, faz sentido fazer com que os usuários acessem aplicativos e bancos de dados que estejam mais próximos de sua localização. Nesse cenário, como garantir que os dados estejam onde precisam estar?

Servidor Couchbase é capaz de replicar dados entre clusters, criando um ótimo cenário de recuperação de desastres e alinhando melhor a localidade dos dados. Isso é feito por meio da chamada replicação entre datacenters (XDCR) e, na verdade, é muito fácil de gerenciar.

Para este exemplo, usaremos Docker. Precisamos ser capazes de criar vários clusters do Couchbase, seja localmente ou remotamente em um serviço como o AWS. Como este é apenas um exemplo, o Docker foi o que fez mais sentido.

Criação de nós do Couchbase Server como contêineres do Docker

Para sermos minimalistas, vamos trabalhar para criar dois clusters do Couchbase Server com dois nós em cada cluster. Isso significa que precisaremos de quatro contêineres no total.

Na CLI do Docker, execute os seguintes comandos:

Os comandos acima usarão a imagem oficial do Docker do Couchbase encontrada no diretório Docker Hub.

Observe que cada contêiner terá um nome exclusivo e um mapeamento de porta diferente. Estamos mapeando apenas a porta de administração para termos algo com que trabalhar na máquina host. Os contêineres poderão se comunicar pelas outras portas, desde que estejam dentro da mesma rede de contêineres, o que é o caso.

Para obter mais informações sobre como usar o Couchbase com o Docker, confira um artigo anterior que escrevi intitulado, Uso do Couchbase com o Docker e implantação de um cluster NoSQL em contêiner.

Agora precisamos criar dois novos clusters e adicionar nós a eles.

Agrupamento dos nós para imitar vários data centers

Vamos começar criando dois novos clusters. No navegador da Web, navegue até http://localhost:7091 e escolha criar um novo cluster. Siga o assistente até que você seja levado ao painel administrativo.

Agora, acesse http://localhost:10091 no navegador da Web e opte por configurar outro novo cluster. Novamente, siga o assistente até ser levado ao painel administrativo.

Neste momento, você tem dois clusters, ambos com um único nó.

No navegador da Web, navegue até http://localhost:8091, mas, desta vez, escolha participar de um cluster existente. Como estamos usando o Docker, você não pode usar localhost ao fornecer um host. Em vez disso, é necessário usar o host do seu contêiner.

Couchbase Docker Container IP

Normalmente, seu IP seria algo como 172.17.0.X, mas isso pode variar de acordo com a plataforma. Certifique-se de entrar no cluster que você criou em http://localhost:7091.

Para adicionar seu último nó ao último cluster restante, siga as mesmas etapas. Navegue até http://localhost:11091 em seu navegador da Web e junte-se ao cluster encontrado em http://localhost:10091, lembrando-se de usar o IP do contêiner, não o IP do host.

Com dois clusters disponíveis, podemos nos preocupar com a replicação entre eles com o XDCR.

Configuração do XDCR com replicação de bucket

O objetivo agora é replicar entre nossos dois data centers. Lembre-se de que estamos replicando entre clusters, não entre nós. A replicação de nós dentro do cluster é um conceito semelhante, mas estamos interessados em replicar fora do cluster.

Escolha um cluster e navegue até a seção XCDR do painel administrativo.

Couchbase XDCR

Aqui você poderá adicionar clusters remotos e definir replicações do Bucket. Selecione Adicionar cluster remoto e insira os detalhes do cluster que você não está explorando no momento. Portanto, no meu caso, estou trabalhando com meu EUA-SF e quero adicionar meu cluster remoto EUA-NYC cluster. Lembre-se, use o IP do contêiner, não o localhost ou o IP do seu host.

Couchbase XDCR

Depois de adicionar o cluster remoto, você ainda precisará definir o que deseja replicar e para onde. Essa é uma replicação unidirecional.

Couchbase XDCR

O Bucket que você deseja replicar deve existir em ambos os clusters. Se o Bucket inicial não existir em seu cluster de destino, vá em frente e crie-o.

Depois que a replicação for adicionada, qualquer alteração de documento que você fizer no cluster de origem, digamos EUA-SFele aparecerá no cluster remoto, digamos EUA-NYC. Se você quiser que as alterações sigam na outra direção, siga as mesmas etapas no outro cluster ou em qualquer outro cluster que queira adicionar à mistura.

Conclusão

Você acabou de ver como criar vários clusters de Couchbase usando o Docker e habilitando a replicação entre datacenters (XDCR) neles. Com o XDCR implementado, você tem uma chance melhor de recuperação de desastres, além da localização de dados com base na região do usuário.

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

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.

Deixar uma resposta