Acerca de la replicación entre regiones

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úster secundario. 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 clústeres secundarios, consulta las tareas separar y cambio que aparecen en el artículo Cómo gestionar 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 del fragmento 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.
  • Número de fragmentos y asignación de ranuras: los clústeres principal y secundario tienen el mismo número de fragmentos 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 desastres: si la región del clúster principal no está disponible, puedes separar o cambiar a un clúster secundario de otra región para atender las solicitudes de lectura y escritura. Los clústeres secundarios responden a las solicitudes de lectura sin emitir un comando de conmutación o de separación.
  • Datos distribuidos geográficamente: la distribución geográfica de los datos los acerca a ti y reduce la latencia de lectura.
  • Balanceo de carga geográfico para el tráfico de lectura: si se producen conexiones lentas o sobrecargadas en una región, puedes dirigir el tráfico a otra región.

Comportamiento de la función

En esta sección se explica el comportamiento importante de la función de replicación entre regiones.

  • Escalar la capacidad del clúster: cuando escalas la capacidad del clúster principal, Memorystore for Redis Cluster escala los clústeres secundarios automáticamente para que coincidan con el clúster 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. Las actualizaciones del número de réplicas son locales y no se propagan a otros clústeres de la colección de replicación entre regiones.
  • Cambiar a otro clúster durante una posible interrupción: puedes cambiar a otro clúster para promover un clúster secundario, aunque el clúster principal no esté disponible debido a una interrupción. Cuando se resuelva la interrupción, el clúster principal no disponible se convertirá en un clúster secundario.
  • Crear clústeres secundarios online: cuando se añade un clúster secundario a un clúster primario, este último permanece online. Mientras Memorystore for Redis Cluster crea el clúster secundario, el clúster principal gestiona las solicitudes y replica los datos.
  • Crear clústeres secundarios: puedes tener hasta dos clústeres secundarios. Pueden estar ubicados en la misma región o en regiones diferentes. No puedes convertir un clúster que ya existe en un clúster secundario. Solo puedes añadir clústeres nuevos como clústeres secundarios.
  • Sincronizar ajustes: Memorystore for Redis Cluster sincroniza automáticamente la mayoría de los ajustes del clúster entre los clústeres primario y secundario. Para obtener más información sobre estos ajustes, consulta Ajustes del clúster.
  • Precios: Memorystore for Redis Cluster cobra a los clientes que usan la replicación entre regiones por los clústeres secundarios que aprovisiona para la replicación entre regiones. Por cada nodo y réplica que Memorystore for Redis Cluster implemente en el clúster secundario, se te cobrará como si fuera cualquier otro clúster principal. Además, se te aplican cargos de red por transferir datos entre clústeres de diferentes regiones.
  • Realizar actualizaciones 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 mientras creas el clúster secundario. Si el clúster principal no tiene la versión de software necesaria, se realizará esta actualización. El proceso de actualización puede introducir una latencia adicional al crear el clúster secundario. Para obtener más información, consulta Información sobre el mantenimiento.

Cómo gestionar la replicación entre regiones

La replicación interregional implica las siguientes tareas:

  • Crea un clúster secundario: crea un clúster secundario que replique los datos de tu clúster principal de forma continua.
  • Ver el clúster secundario: consulta información sobre el clúster secundario, como el nombre del clúster principal y el otro clúster secundario del grupo de replicación.
  • Desasociar clústeres secundarios: esta operación consiste en desacoplar 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 con el que estaban asociados anteriormente. Tanto el clúster principal original como los clústeres recién separados (antes secundarios) funcionan como clústeres independientes sin relación entre sí.

    Desacopla los clústeres secundarios por los siguientes motivos:

    • 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 ante desastres: activa rápidamente los recursos de Memorystore for Redis Cluster en una región secundaria si los recursos de la región principal dejan de estar 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: realiza un cambio para invertir los roles de tus clústeres principal y secundario. Puedes hacer un cambio por los siguientes motivos:

    • Probar la configuración de recuperación tras desastres
    • Cambiar a la copia de seguridad durante una situación real de recuperación tras fallos
    • Migrar una carga de trabajo

    Una vez que hayas completado el cambio, Memorystore for Redis Cluster invertirá la dirección de la replicación. El antiguo clúster secundario ahora puede aceptar tanto lecturas como escrituras, mientras que el antiguo clúster principal pasa a ser de solo lectura.

Ejemplo de arquitectura para la replicación entre regiones

En este diagrama se muestra un clúster principal en la región us-east1 y clústeres secundarios en las regiones us-west1 y asia-east1. La replicación siempre se realiza desde el clúster principal hasta los clústeres secundarios (en este ejemplo, desde la región us-east1 hasta las demás regiones).

Aunque en este diagrama se muestra el mismo número de réplicas en todas las regiones, la replicación entre regiones te permite tener un número diferente de réplicas en función de tus necesidades.

imagen

Configuración del clúster

En esta sección se explican los ajustes que se requieren, se copian y se anulan en los clústeres primarios y secundarios que usan la replicación entre regiones. También se explican los ajustes que se configuran en el clúster principal y los que se configuran de forma local.

Parámetros obligatorios para crear un clúster secundario

Para crear un clúster secundario, debe definir valores para los siguientes parámetros:

  • Google Cloud proyecto: el proyecto en el que se encuentra tu clúster principal y en el que creas el clúster secundario.
  • Región: la región en la que quieres que se encuentre el clúster secundario.
  • Configuración de Private Service Connect: la configuración de red del clúster secundario.
  • Clúster principal: cuando crees el clúster secundario, debes indicar un clúster principal. Puedes usar cualquier clúster que no sea secundario como clúster principal. Si no tienes un clúster principal, créalo.

Ajustes que un clúster secundario copia del clúster principal

Cuando creas un clúster secundario, este clúster copia los siguientes ajustes del clúster principal:

Anular la configuración predeterminada

Cuando creas un clúster secundario, puedes usar los siguientes ajustes para anular los predeterminados:

Actualizar la configuración del clúster

Cuando actualizas la configuración de tu clúster en Memorystore for Redis Cluster, solo puedes cambiar algunos ajustes en el clúster principal. Memorystore for Redis Cluster sincroniza estos cambios con los clústeres secundarios automáticamente.

Puedes cambiar otros ajustes en los clústeres primario y secundario de forma independiente. Memorystore for Redis Cluster aplica estos cambios solo de forma local y no los sincroniza con los demás clústeres.

Configurar los ajustes en el clúster principal

Debes cambiar los siguientes ajustes en el clúster principal. Memorystore for Redis Cluster sincroniza estos cambios con los clústeres secundarios automáticamente.

Configurar los ajustes locales

Configura los siguientes ajustes de forma local:

Prácticas recomendadas para cambiar entre clústeres principales y secundarios

Cuando hagas un cambio, te recomendamos que sigas las instrucciones de esta sección. De esta forma, tu aplicación puede hacer un seguimiento de las escrituras y enviar las que sean necesarias al clúster correspondiente.

  1. Impide que tu aplicación escriba en el clúster principal.
  2. Si hay varios clústeres secundarios que se pueden convertir en principales, determina cuál quieres que sea el principal. Los siguientes factores pueden ayudarte a determinar qué clúster secundario promocionar:

    • La proximidad de tu aplicación al clúster. Esto puede afectar a la latencia de escritura.
    • El clúster secundario que está más actualizado en cuanto a datos.
    • El clúster secundario más cercano al clúster principal en cuanto a configuración.
  3. Realiza un cambio en el clúster secundario.

  4. Espera a que se complete la operación de cambio.

  5. Actualiza tu aplicación para que envíe las escrituras al clúster recién ascendido que has seleccionado en el paso 2.