Replicación entre centros de datos (XDCR)

Recuperación ante desastres con Couchbase Mobile - Sync Gateway y replicación entre centros de datos

Planificar la recuperación ante desastres (DR) y la continuidad del negocio (BC) es vital para cualquier aplicación moderna, y eso se aplica igualmente a cualquier aplicación con un componente de computación móvil o de borde. 

Las interrupciones del servicio o los periodos de inactividad pueden tener graves consecuencias para una empresa y, sin las estrategias adecuadas, puede ser difícil recuperarse de ellos.

En este post veremos una de las formas de planificar la BC y DR para tu aplicación móvil en Couchbase usando Cross Data Center Replication (XDCR).

Pila móvil Couchbase

Couchbase Mobile es una plataforma cloud-to-edge que permite desplegar aplicaciones móviles e integradas offline first, proporcionando una sincronización rápida y eficiente de los datos.

Consta de 3 componentes clave:

    • Servidor Couchbase - la base de datos NoSQL de gran escalabilidad, disponibilidad y rendimiento. Está disponible como base de datos como servicio totalmente gestionada y alojada con Couchbase Capellao puede desplegarse y alojarse por su cuenta como Servidor Couchbase.
    • Sync Gateway: un mecanismo de sincronización seguro y orientado a Internet diseñado para proporcionar sincronización de datos para aplicaciones web, móviles e IoT interactivas a gran escala. Disponible totalmente alojado y gestionado con Capella App Serviceso puede instalarlo y gestionarlo usted mismo con Pasarela de sincronización Couchbase.
    • Couchbase Lite - una base de datos integrada con todas las funciones para sus aplicaciones móviles, de escritorio e IoT. Ofrece funciones de CRUD, búsqueda de texto completo, consulta y búsqueda vectorial que se ejecutan localmente en el dispositivo.

¿Qué es XDCR?

XDCR es una tecnología de replicación de alto rendimiento que permite replicar datos entre dos o más clusters de Couchbase. Desempeña un papel muy importante en el apoyo a las estrategias de DR y la migración de datos, incluso para aplicaciones móviles.

XDCR puede establecerse de forma unidireccional (es decir, los datos fluyen sólo del clúster de origen A al clúster de destino B) o bidireccional (es decir, los datos fluyen del clúster de origen A al clúster de destino B, y del clúster de origen B al clúster de destino A), lo que permite una serie de topologías diferentes para dar soporte a distintos casos de uso.

Algunos casos de uso comunes para XDCR incluyen la espera en caliente para DR, la geolocalización de centros de datos para aplicaciones utilizadas globalmente, la migración, etc.

¿Cómo podemos utilizar XDCR para garantizar la BC/DR en un despliegue móvil?

Es muy importante considerar el mejor enfoque para la estrategia de RD de una aplicación móvil. Hay múltiples formas de conseguirlo, a saber Replicación Inter-Sync Gateway (ISGR) y XDCR. ISGR permite la replicación entre varias instancias de Sync Gateway o Capella App Services; puede obtener más información al respecto en otra entrada del blog. A continuación veremos cómo se puede utilizar XDCR como parte de una estrategia de DR para una aplicación móvil con Couchbase.

En este ejemplo, tenemos dos clusters Couchbase, ambos con un cluster Sync Gateway asociado. Uno de estos clústeres es el primario para una aplicación de producción, el otro es el clúster DR, que se mantiene sincronizado con el clúster primario mediante el uso de XDCR.

La mejor práctica es utilizar XDCR unidireccional (en lugar de bidireccional), ya que así se garantiza que los cambios fluyan del origen al destino y que el sitio de destino no envíe actualizaciones de operaciones de escritura de vuelta al origen. Además, Sync Gateway debe estar en espera (lo que significa que no está recibiendo datos activamente) cuando es el destino de la replicación XDCR.

En un escenario habitual, este es el aspecto que tendría esa configuración:

En un escenario de DR, se deben tomar algunas medidas para garantizar que se puede cambiar al clúster secundario:

    1. Eliminar la replicación XDCR unidireccional del clúster primario antiguo al clúster primario nuevo (anteriormente el clúster DR).
    2. Establezca Sync Gateway en espera en el antiguo clúster primario de Couchbase
    3. Active la replicación entre el nuevo clúster primario de Couchbase y el clúster de Sync Gateway (anteriormente el clúster DR).
    4. Configurar la replicación XDCR unidireccional entre el nuevo clúster primario y el nuevo clúster DR.
    5. Conectar la aplicación al nuevo clúster primario en lugar de al antiguo clúster primario.

La nueva configuración quedaría así:

Es crucial mantener las condiciones de tener Sync Gateway en espera y XDCR unidireccional, especialmente al voltear el clúster. De lo contrario, podría acabar con Sync Gateway y XDCR apuntando al mismo bucket en modo de escritura, lo que provocaría problemas de sincronización.

Con este enfoque, puede asegurarse de que su aplicación móvil es sólida y está preparada para un escenario de RD.

Referencias

 

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Georgina Martin, Ingeniera de soluciones

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.