En esta página se ofrece una descripción general de la replicación entre regiones de Memorystore para Redis Cluster.
Para obtener instrucciones sobre cómo gestionar la réplica entre regiones, consulta Trabajar con la réplica entre regiones.
La replicación entre regiones te permite crear clústeres secundarios a partir de un clúster principal para que tu clúster esté disponible para lecturas en diferentes regiones. Los clústeres secundarios también proporcionan redundancia para los escenarios de recuperación tras fallos en caso de que se produzcan interrupciones regionales.
En esta página se incluyen los siguientes conceptos clave:
- Clúster principal. Un clúster de lectura y escritura en una sola región.
- Clústeres secundarios. Un clúster secundario es un clúster de solo lectura que se replica desde el clúster principal de forma asíncrona. Para obtener información sobre cómo promover y separar réplicas secundarias, consulta las secciones Cambio y Separar del artículo Cómo trabajar con la replicación entre regiones.
- Nodo de réplica. Un nodo de la partición del clúster principal que se replica en un nodo seguidor del clúster secundario. Cualquier nodo principal o de réplica de la partición puede desempeñar el rol de replicador.
- Nodos seguidores. Nodos del clúster secundario que se replican desde un nodo de replicación del clúster principal. Solo los nodos principales del clúster secundario pueden tener el rol de seguidor.
- Recuento de fragmentos y asignación de ranuras. Los clústeres principal y secundario tienen el mismo número de particiones y asignaciones de ranuras.
Ventajas
Entre las ventajas de la replicación entre regiones en Memorystore for Redis Cluster se incluyen las siguientes:
- Recuperación tras fallos. Si la región del clúster principal deja de estar disponible, puedes cambiar a un clúster secundario de otra región o separarlo para que responda a las solicitudes de lectura y escritura. Los clústeres secundarios siempre están listos para atender solicitudes de lectura sin emitir un comando de cambio o de separación.
- Datos distribuidos geográficamente. Al distribuir los datos geográficamente, los datos están más cerca de ti y se reduce la latencia de lectura.
- Balanceo de carga geográfico para el tráfico de lectura. Si las conexiones de una región son lentas o están sobrecargadas, puedes dirigir el tráfico a otra región.
Comportamiento de la función
En esta sección se explica un comportamiento importante de la replicación entre regiones que debes tener en cuenta.
- Escalar la capacidad de la instancia. Cuando escalas la capacidad de la instancia del clúster principal, los clústeres secundarios se escalan automáticamente para que coincidan con el principal.
- Escalar el número de réplicas. Puedes escalar el número de réplicas de los clústeres principales y secundarios de forma independiente en función de las necesidades de tu carga de trabajo. Los cambios en el número de réplicas solo son locales y no se propagan a otros clústeres de la colección de clústeres de replicación entre regiones.
- Cambio durante una posible interrupción. Puedes realizar un cambio para promover un clúster secundario, aunque el clúster principal no esté disponible debido a una interrupción. En este caso, el clúster principal no disponible se convertirá en un clúster secundario cuando se resuelva la interrupción.
- Creación de clústeres secundarios online. Cuando se añade un clúster secundario a un clúster principal, el clúster principal permanece online. El primario sirve las solicitudes mientras se crea el secundario y replica los datos.
- Clústeres secundarios. Puedes tener hasta dos secundarias. Pueden estar ubicados en todas las regiones disponibles. Si quieres, pueden estar en regiones diferentes. No se puede convertir un clúster en secundario. Solo se pueden añadir clústeres nuevos como clústeres secundarios a un clúster.
- Ajustes sincronizados. La mayoría de los ajustes se sincronizan automáticamente entre los clústeres principales y secundarios. Para obtener más información sobre estos ajustes, consulta Ajustes del clúster.
- Precios. A los clientes que usen la replicación entre regiones se les cobrará por los clústeres secundarios aprovisionados para la replicación entre regiones. A los clientes se les cobrará por cada nodo y réplica implementados en el clúster secundario de la misma forma que en cualquier otro clúster principal. Además, los clientes incurren en cargos de red por la transferencia de datos entre clústeres de diferentes regiones.
- Actualización de mantenimiento. Para asegurar la compatibilidad con la replicación entre regiones, es posible que tu clúster principal se someta a una actualización de mantenimiento durante la creación del clúster secundario si aún no ejecuta la versión de software necesaria. Este proceso de actualización puede introducir una latencia adicional al crear el clúster secundario. Para obtener más información sobre el mantenimiento, consulta el artículo Acerca del mantenimiento.
Cómo trabajar con la replicación entre regiones
Para trabajar con la replicación entre regiones de Memorystore for Redis Cluster, debes realizar las siguientes tareas:
- Crea un clúster secundario. Crea un clúster secundario que se replique continuamente desde el clúster principal.
- Ver un clúster secundario. Puede ver información sobre un clúster secundario, incluido el nombre del clúster principal y el otro clúster secundario del grupo de réplica.
Desvincula los clústeres secundarios. Desasociar clústeres secundarios es una operación en la que se desacoplan los clústeres secundarios de su clúster principal. De esta forma, se convierten en clústeres independientes y totalmente funcionales que permiten tanto lecturas como escrituras. Después de una operación de separación, los clústeres secundarios ya no replican los datos del clúster principal al que estaban asociados anteriormente. Tanto el clúster principal original como los clústeres recién separados (antiguos secundarios) funcionan como clústeres independientes sin ninguna relación entre sí.
Hay dos situaciones principales en las que se pueden separar clústeres secundarios:
- Migración regional. Realiza una migración planificada de los recursos de Memorystore for Redis Cluster de su región principal a otra región.
- Recuperación tras fallos. Activa rápidamente los recursos de Memorystore for Redis Cluster en una región secundaria en caso de que los recursos de la región principal no estén disponibles. Si los clústeres secundarios no se han sincronizado completamente con el clúster principal, es posible que se pierdan algunos datos.
Cambia tus clústeres. Un cambio te permite invertir los roles de tu clúster principal y secundario. Puedes realizar un cambio para probar tu configuración de recuperación tras desastres, durante una situación real de recuperación tras desastres o para migrar tu carga de trabajo. Cuando completes el cambio, se invertirá la dirección de la replicación y el antiguo clúster secundario podrá aceptar tanto lecturas como escrituras, mientras que el antiguo clúster principal pasará a ser de solo lectura.
Ejemplo de arquitectura de replicación entre regiones
En el siguiente diagrama se muestra un clúster principal en la región us-east1
con clústeres secundarios en us-west1
y asia-east1
. La replicación siempre se realiza desde us-east1
hacia las demás regiones. Ten en cuenta que, aunque en el siguiente diagrama se muestra el mismo número de réplicas en todas las regiones, la función de replicación entre regiones te ofrece la flexibilidad de tener un número de réplicas diferente en función de tus necesidades.
Configuración del clúster
En esta sección se explica qué ajustes son obligatorios, se copian o se anulan en los clústeres primarios y secundarios que usan la replicación entre regiones. También se explica qué ajustes se han configurado en la principal y cuáles se han configurado de forma local.
Parámetros obligatorios para crear un clúster secundario
- Proyecto de Google Cloud. Este es el proyecto en el que se encuentra tu clúster principal y en el que se creará el clúster secundario.
- Región. Esta es la región en la que quieres colocar tu clúster secundario.
- Configuración de Private Service Connect. Esta es la configuración de red de tu clúster.
- Clúster principal. Debes indicar un clúster principal para el clúster secundario al crearlo. Cualquier clúster que no sea secundario se puede usar como clúster principal. Si no tienes un clúster principal, primero debes crearlo.
Configuración copiada de la instancia principal durante la creación de la instancia
Durante la creación del clúster secundario, este copia los siguientes ajustes del clúster principal:
- Recuento de fragmentos
- Modo de autenticación de IAM
- Modo de cifrado en tránsito
- Configuraciones del motor de Redis
- Versión del motor de Redis
- Tipo de nodo
- Modo de persistencia
Anulación permitida durante la creación de la instancia
Los siguientes ajustes permiten anular el valor predeterminado durante la creación de la instancia.
- Configuración de distribución de zonas
- Número de réplicas
- Ventanas de mantenimiento
- Protección contra la eliminación
- Copias de seguridad automáticas
Actualizar la configuración del clúster
Al actualizar la configuración de un clúster, algunos ajustes solo se pueden cambiar en el clúster principal y los cambios se sincronizan automáticamente con los clústeres secundarios con el tiempo. Otros ajustes se pueden cambiar de forma independiente en los clústeres primario y secundario, y solo se aplican de forma local, no se sincronizan con los demás clústeres.
Definir como principal
Los siguientes ajustes deben cambiarse en el primario y la actualización se sincroniza con el secundario:
Definida localmente
Puedes configurar estos ajustes localmente:
- Protección contra la eliminación
- Número de réplicas
- Ventanas de mantenimiento
- Endpoints de clústeres
- Copias de seguridad automáticas
Prácticas recomendadas para los cambios
Cuando realices un cambio, te recomendamos que sigas las instrucciones de esta sección para que tu aplicación pueda registrar las escrituras y enviarlas al clúster adecuado.
- Impide que tu aplicación escriba en el clúster principal.
Determina el clúster secundario que quieres promocionar (si hay varios clústeres secundarios entre los que elegir). Estos son algunos factores que pueden ayudarte a determinar qué secundario promocionar:
La proximidad de tu aplicación al clúster. Esto podría afectar a la latencia de escritura.
El clúster que está más al día en cuanto a datos.
El clúster que más se acerque a los clústeres principales en cuanto a configuración.
Espera a que se complete la operación de cambio.
Actualiza la aplicación para que envíe las escrituras al clúster recién ascendido que has elegido en el paso 2.