Cuando se trata de bases de datos, la seguridad de los datos y el rendimiento son increíblemente importantes. Como empresa, usted quiere asegurarse de que dispone de un sistema de recuperación ante desastres y de que su base de datos no es un cuello de botella para el resto de sus aplicaciones y necesidades empresariales.

Cuando se trata de rendimiento, tiene sentido que los usuarios accedan a las aplicaciones y bases de datos más cercanas a su ubicación. En este caso, ¿cómo asegurarse de que los datos están donde deben estar?

Servidor Couchbase es capaz de replicar datos entre clústeres, lo que supone un gran escenario de recuperación ante desastres y una mejor alineación para la localización de datos. Esto se hace a través de lo que se denomina replicación cruzada de centros de datos (XDCR) y, en realidad, es bastante fácil de gestionar.

Para este ejemplo, vamos a utilizar Docker. Necesitamos ser capaces de crear múltiples clusters de Couchbase, ya sea de forma local o remota en un servicio como AWS. Como esto es solo un ejemplo, Docker era lo más lógico.

Creación de nodos de Couchbase Server como contenedores Docker

Para ser minimalistas, vamos a trabajar para crear dos clusters de Couchbase Server con dos nodos en cada cluster. Esto significa que vamos a necesitar cuatro contenedores en total.

Desde la CLI de Docker, ejecute los siguientes comandos:

Los comandos anteriores utilizarán la imagen Docker oficial de Couchbase que se encuentra en el archivo Centro Docker.

Ten en cuenta que cada contenedor tendrá un nombre único y un puerto diferente. Sólo estamos mapeando el puerto admin para tener algo con lo que trabajar desde la máquina anfitriona. Los contenedores serán capaces de comunicarse a lo largo de los otros puertos, siempre y cuando estén dentro de la misma red de contenedores, que son.

Para obtener más información sobre el uso de Couchbase con Docker, echa un vistazo a un artículo anterior que escribí titulado, Uso de Couchbase con Docker e implementación de un clúster NoSQL en contenedores.

Ahora tenemos que crear dos nuevos clusters y añadirles nodos.

Agrupación de nodos para imitar varios centros de datos

Empecemos por crear dos nuevos clusters. Desde el navegador web, navega a http://localhost:7091 y elige crear un nuevo clúster. Sigue el asistente hasta que te lleve al panel de control administrativo.

Ahora navega a http://localhost:10091 desde el navegador web y elige configurar otro clúster nuevo. De nuevo, sigue el asistente hasta que llegues al panel de control administrativo.

En este momento, tienes dos clusters, ambos con un único nodo.

Desde el navegador web, vaya a http://localhost:8091, pero esta vez elija unirse a un clúster existente. Como estamos usando Docker, no puedes usar localhost cuando proporciones un host. En su lugar, debe utilizar el host de su contenedor.

Couchbase Docker Container IP

Normalmente, tu IP sería algo como 172.17.0.X, pero puede variar según la plataforma. Asegúrate de unirte al clúster que hayas creado en http://localhost:7091.

Para añadir tu nodo final al último cluster restante, sigue los mismos pasos. Navega a http://localhost:11091 desde tu navegador web y únete al clúster que se encuentra en http://localhost:10091, recordando utilizar la IP del contenedor, no la IP del host.

Con dos clusters disponibles, podemos preocuparnos de replicar entre ellos con XDCR.

Configuración de XDCR con replicación de cubos

El objetivo ahora es replicar entre nuestros dos centros de datos. Recuerda, estamos replicando entre clusters, no nodos. La replicación de nodos dentro del clúster es un concepto similar, pero estamos interesados en replicar fuera del clúster.

Elija un clúster y vaya a la sección XCDR del panel de control administrativo.

Couchbase XDCR

Aquí podrás añadir clusters remotos y definir réplicas de Bucket. Seleccione Añadir Cluster Remoto e introduce los detalles del clúster que no estás explorando actualmente. Así que en mi caso, estoy trabajando con mi EE.UU.-SF cluster y quiero añadir mi EE.UU.-NYC cluster. Recuerda, usa la IP del contenedor, no localhost o la IP de tu host.

Couchbase XDCR

Después de añadir el clúster remoto, todavía tendrá que definir lo que desea replicar y hacia dónde. Se trata de una replicación unidireccional.

Couchbase XDCR

El Bucket que desea replicar debe existir en ambos clusters. Si el Bucket de inicio no existe en su clúster de destino, siga adelante y créelo.

Una vez añadida la replicación, cualquier cambio de documento que realice en el clúster de origen, digamos EE.UU.-SFaparecerá en el cluster remoto, digamos EE.UU.-NYC. Si desea que los cambios vayan en la otra dirección, siga los mismos pasos en el otro clúster o en cualquier otro clúster que desee añadir a la mezcla.

Conclusión

Acaba de ver cómo crear varios grupos de Couchbase utilizando Docker y habilitando la replicación entre centros de datos (XDCR) en ellos. Con XDCR en su lugar, ahora tiene una mejor oportunidad de recuperación ante desastres, además de la localización de datos basada en la región del usuario.

Para obtener más información sobre XDCR con Couchbase, consulte la página Portal para desarrolladores de Couchbase.

Autor

Publicado por Nic Raboy, Defensor del Desarrollador, Couchbase

Nic Raboy es un defensor de las tecnologías modernas de desarrollo web y móvil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y móvil más fácil de entender.

Dejar una respuesta