Información acerca de la replicación entre regiones

En esta página, se proporciona una descripción general de la replicación entre regiones para Memorystore for Redis Cluster.

Para obtener instrucciones sobre cómo administrar la replicación entre regiones, consulta Trabaja con la replicación 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 situaciones de recuperación ante desastres en caso de interrupciones regionales.

Entre los conceptos clave de esta página, se incluyen los siguientes:

  • 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 replica desde el clúster principal de forma asíncrona. Para obtener información sobre cómo ascender y desconectar clústeres secundarios, consulta las tareas de desconexión y cambio que aparecen en Cómo administrar la replicación entre regiones.
  • Nodo replicador: Un nodo en el fragmento del clúster principal que se replica en un nodo seguidor en el clúster secundario. Cualquier nodo principal o de réplica en el fragmento puede cumplir la función de replicador.
  • Nodos seguidores: Nodos en el clúster secundario que se replican desde un nodo replicador en el clúster principal. Solo los nodos principales del clúster secundario pueden tener la función de seguidor.
  • Recuento de fragmentos y asignación de ranuras: Los clústeres principales y secundarios tienen la misma cantidad de fragmentos y asignaciones de ranuras.

Beneficios

Entre los beneficios de la replicación entre regiones en Memorystore for Redis Cluster, se incluyen los siguientes:

  • Recuperación ante desastres: Si la región del clúster principal deja de estar disponible, puedes desconectar o cambiar a un clúster secundario en otra región para entregar solicitudes de lectura y escritura. Los clústeres secundarios entregan solicitudes de lectura sin emitir un comando de cambio o desconexión.
  • Datos distribuidos geográficamente: La distribución geográfica de los datos los acerca a ti y disminuye la latencia de lectura.
  • Balanceo de cargas geográfico para el tráfico de lectura: Si se producen conexiones lentas o sobrecargadas en una región, puedes enrutar 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.

  • Escala 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.
  • Escala el recuento de réplicas: Puedes escalar el recuento de réplicas para clústeres principales y secundarios de forma independiente según las necesidades de tu carga de trabajo. Las actualizaciones del recuento de réplicas son solo locales y no se propagan a otros clústeres dentro de la colección de clústeres de replicación entre regiones.
  • Cambia durante una posible interrupción: Puedes realizar un cambio para ascender un clúster secundario, incluso si el clúster principal no está disponible debido a una interrupción. Cuando se resuelve la interrupción, el clúster principal no disponible se convierte en un clúster secundario.
  • Crea clústeres secundarios en línea: Cuando agregas un clúster secundario a un clúster principal, el clúster principal permanece en línea. Mientras Memorystore for Redis Cluster crea el clúster secundario, el clúster principal controla las solicitudes y replica los datos.
  • Crea clústeres secundarios: Puedes tener hasta dos clústeres secundarios. Pueden ubicarse en la misma región o en regiones diferentes entre sí. No puedes convertir un clúster existente en un clúster secundario. Solo puedes agregar clústeres nuevos como clústeres secundarios.
  • Sincroniza la configuración: Memorystore for Redis Cluster sincroniza automáticamente la mayoría de los parámetros de configuración del clúster entre los clústeres principales y secundarios. Para obtener más información sobre estos parámetros de configuración, consulta Configuración del clúster.
  • Precios: Memorystore for Redis Cluster cobra a los clientes que usan la replicación entre regiones por cualquier clúster secundario que Memorystore for Redis Cluster aprovisione para la replicación entre regiones. Por cada nodo y réplica que Memorystore for Redis Cluster implementa en el clúster secundario, se te cobra como cualquier otro clúster principal. Además, incurres en cargos de red por transferir datos entre clústeres en diferentes regiones.
  • Realiza actualizaciones de mantenimiento: Para garantizar la compatibilidad con la replicación entre regiones, mientras creas tu clúster secundario, es posible que tu clúster principal se someta a una actualización de mantenimiento. Si el clúster principal no ejecuta la versión de software requerida, se realiza esta actualización. El proceso de actualización puede introducir una latencia adicional cuando creas tu clúster secundario. Para obtener más información, consulta Acerca del mantenimiento.

Cómo administrar la replicación entre regiones

La replicación entre regiones incluye las siguientes tareas:

  • Crear un clúster secundario: crea un clúster secundario que replique datos de tu clúster principal de forma continua.
  • Visualiza el clúster secundario: Visualiza información sobre el clúster secundario, incluido el nombre del clúster principal y el otro clúster secundario en el grupo de replicación.
  • Desconecta clústeres secundarios: La desconexión de clústeres secundarios es una operación en la que desacoplas los clústeres secundarios de su clúster principal. Esto los convierte en clústeres independientes completamente funcionales que permiten operaciones de lectura y escritura. Después de una operación de desconexió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 desconectados (antes secundarios) funcionan como clústeres independientes sin relación entre sí.

    Desconectas clústeres secundarios por los siguientes motivos:

    • Migración regional: Realiza una migración planificada de los recursos de Memorystore for Redis Cluster desde su región principal a otra región.
    • Recuperación ante desastres: Activa los recursos de Memorystore for Redis Cluster en una región secundaria rápidamente si los recursos de la región principal dejan de estar disponibles. Si los clústeres secundarios no están completamente actualizados con el clúster principal, es posible que se pierdan algunos datos.
  • **Cambia tus clústeres**: Realiza un cambio para invertir las funciones de tus clústeres principales y secundarios. Puedes realizar un cambio por los siguientes motivos:

    • Prueba tu configuración de recuperación ante desastres.
    • Cambia durante una situación real de recuperación ante desastres.
    • Realiza una migración de tu carga de trabajo.

    Después de completar el cambio, Memorystore for Redis Cluster invierte la dirección de la replicación. El clúster secundario anterior ahora puede aceptar lecturas y escrituras, mientras que el clúster principal anterior cambia a 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 dirección de la replicación siempre es del clúster principal a los clústeres secundarios (en este ejemplo, de la región us-east1 a las otras regiones).

Aunque este diagrama muestra la misma cantidad de réplicas en todas las regiones, la replicación entre regiones te permite tener diferentes cantidades de réplicas según tus requisitos.

imagen

Configuración del clúster

En esta sección, se explican los parámetros de configuración que se requieren, se copian y se anulan para los clústeres principales y secundarios que usan la replicación entre regiones. También se explican los parámetros de configuración que configuras en el clúster principal y los parámetros de configuración que configuras de forma local.

Parámetros obligatorios para crear un clúster secundario

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

  • Google Cloud **project**: Es el proyecto en el que se encuentra tu clúster principal y en el que creas el clúster secundario.
  • Región: Es la región en la que deseas que se ubique el clúster secundario.
  • Configuración de Private Service Connect: Es la configuración de red para el clúster secundario.
  • Clúster principal: Cuando creas el clúster secundario, debes indicar un clúster principal. Puedes usar cualquier clúster que no sea un clúster secundario como clúster principal. Si no tienes un clúster principal, créalo.

Parámetros de configuración que un clúster secundario copia del clúster principal

Cuando creas un clúster secundario, este clúster copia los siguientes parámetros de configuración del clúster principal:

Anula la configuración predeterminada

Cuando creas un clúster secundario, puedes usar los siguientes parámetros de configuración para anular la configuración predeterminada:

Actualiza la configuración del clúster

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

Puedes cambiar otros parámetros de configuración en los clústeres principales y secundarios de forma independiente. Memorystore for Redis Cluster aplica estos cambios solo de forma local y no los sincroniza con los otros clústeres.

Configura los parámetros en el clúster principal

Debes cambiar los siguientes parámetros de configuración en el clúster principal. Memorystore for Redis Cluster sincroniza estos cambios con los clústeres secundarios automáticamente.

Configura los parámetros locales

Configuras los siguientes parámetros de configuración de forma local:

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

Cuando realices un cambio, te recomendamos que sigas las instrucciones de esta sección. De esta manera, tu aplicación puede hacer un seguimiento de las escrituras y enviarlas al clúster correspondiente.

  1. Evita que tu aplicación escriba en el clúster principal.
  2. Si hay varios clústeres secundarios para ascender, determina el clúster secundario que deseas ascender al clúster principal. Los siguientes factores pueden ayudarte a determinar qué clúster secundario ascender:

    • Qué tan cerca está tu aplicación del clúster. Esto puede afectar la latencia de escritura.
    • El clúster secundario que está más actualizado, en términos de datos.
    • El clúster secundario que está más cerca del clúster principal, en términos de 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 enviar cualquier escritura al clúster recién ascendido que seleccionaste en el paso 2.