Replicação entre centros de dados (XDCR)

Recuperação de desastres com o Couchbase Mobile - Sync Gateway e Cross Data Center Replication

O planejamento da recuperação de desastres (DR) e da continuidade dos negócios (BC) é vital para qualquer aplicativo moderno, e isso se aplica igualmente a qualquer aplicativo com um componente de computação móvel ou de borda. 

As interrupções de serviço ou o tempo de inatividade podem causar sérios impactos em uma empresa e, sem as estratégias corretas, a recuperação de um evento como esse pode ser um desafio.

Esta postagem abordará uma das maneiras de planejar o BC e a DR para seu aplicativo móvel no Couchbase usando o XDCR (Cross Data Center Replication).

Pilha móvel do Couchbase

O Couchbase Mobile é uma plataforma de ponta a ponta na nuvem que permite a implantação de aplicativos móveis e incorporados off-line, fornecendo sincronização rápida e eficiente de dados.

Ele é composto por três componentes principais:

    • Servidor Couchbase - o banco de dados NoSQL altamente escalável, altamente disponível e de alto desempenho. Ele está disponível como um banco de dados como serviço totalmente gerenciado e hospedado com Couchbase Capellaou pode ser implantado e hospedado por conta própria como Servidor Couchbase.
    • Sync Gateway - um mecanismo de sincronização seguro e voltado para a Internet, projetado para fornecer sincronização de dados para aplicativos interativos em larga escala da Web, móveis e de IoT. Disponível totalmente hospedado e gerenciado com Serviços de aplicativos Capellaou pode ser instalado e gerenciado por você mesmo com o Gateway de sincronização do Couchbase.
    • Couchbase Lite - um banco de dados incorporado com todos os recursos para seus aplicativos móveis, de desktop e de IoT. Ele fornece CRUD, pesquisa de texto completo, consulta e recursos de pesquisa vetorial que são executados localmente no dispositivo.

O que é XDCR?

XDCR é uma tecnologia de replicação de alto desempenho que permite a replicação de dados entre dois ou mais clusters do Couchbase. Ela desempenha uma função muito importante no suporte a estratégias de DR e migração de dados, inclusive para aplicativos móveis.

O XDCR pode ser estabelecido unidirecionalmente (o que significa que os dados fluem apenas do cluster de origem A para o cluster de destino B) ou bidirecionalmente (o que significa que os dados fluem do cluster de origem A para o cluster de destino B e do cluster de origem B para o cluster de destino A), permitindo uma variedade de topologias diferentes para dar suporte a diferentes casos de uso.

Alguns casos de uso comuns do XDCR incluem hot standby para DR, geolocalização de data centers para aplicativos usados globalmente, migração e muito mais.

Como podemos usar o XDCR para garantir BC/DR em uma implantação móvel?

É muito importante considerar a melhor abordagem para a estratégia de DR de um aplicativo móvel. Há várias maneiras de conseguir isso, a saber Replicação de gateway entre sincronizações (ISGR) e XDCR. O ISGR permite a replicação entre várias instâncias do Sync Gateway ou do Capella App Services; você pode saber mais sobre ele em outra postagem no blog. Veremos agora como você pode usar o XDCR como parte de uma estratégia de DR para um aplicativo móvel com o Couchbase.

Neste exemplo, temos dois clusters do Couchbase, ambos com um cluster Sync Gateway associado. Um desses clusters é o principal para um aplicativo de produção, o outro é o cluster DR, que é mantido em sincronia com o cluster principal por meio do uso do XDCR.

A prática recomendada é usar XDCR unidirecional (em vez de bidirecional), pois isso garante que as alterações fluam da origem para o destino e que o site de destino não envie atualizações de operação de gravação de volta para a origem. Além disso, o Sync Gateway deve estar em standby (o que significa que não está recebendo dados ativamente) quando for o destino da replicação XDCR.

Em um cenário normal, essa é a aparência dessa configuração:

Em um cenário de DR, algumas medidas devem ser tomadas para garantir que você possa alternar para o cluster secundário:

    1. Remova a replicação XDCR unidirecional do cluster primário antigo para o novo cluster primário (anteriormente o cluster DR)
    2. Definir o Sync Gateway como standby no antigo cluster primário do Couchbase
    3. Ative a replicação entre o novo cluster primário do Couchbase e o cluster do Sync Gateway (anteriormente o cluster DR)
    4. Configure a replicação XDCR unidirecional entre o novo cluster primário e o novo cluster DR
    5. Conecte o aplicativo ao novo cluster primário em vez do cluster primário antigo

A nova configuração seria semelhante a esta:

É fundamental manter as condições de ter o Sync Gateway em espera e o XDCR unidirecional, especialmente ao inverter o cluster. Caso contrário, você pode acabar com o Sync Gateway e o XDCR direcionando o mesmo bucket no modo de gravação, o que leva a problemas de sincronização.

Com essa abordagem, você pode garantir que seu aplicativo móvel seja robusto e esteja preparado para um cenário de DR.

Referências

 

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

Autor

Postado por Georgina Martin, engenheira de soluções

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.