Conmutación por error manual

En esta página se ofrece una descripción general de la conmutación por error manual para Memorystore en Redis. Si deseas aprender a realizar una conmutación por error, consulta Cómo iniciar una conmutación por error manual.

¿Qué es una conmutación por error manual?

Una instancia de nivel Estándar de Memorystore para Redis usa un nodo de réplica para hacer una copia de seguridad del nodo principal. Una conmutación por error normal ocurre cuando el nodo principal se encuentra en mal estado, lo que hace que la réplica se designe como la nueva. Una conmutación por error manual difiere de una conmutación por error normal porque la inicias tú mismo. Para obtener más información sobre cómo funciona la replicación de Memorystore para Redis, consulta Alta disponibilidad.

¿Por qué debería iniciar una conmutación por error manual?

Iniciar una conmutación por error manual te permite probar cómo responde tu aplicación a una conmutación por error. Este conocimiento puede garantizar un proceso de conmutación por error más fluido si se produce una conmutación por error inesperada más adelante.

Modo de protección de datos opcional

Los dos modos de protección de datos disponibles son los siguientes:

  • Modo limited-data-loss (predeterminado).
    • La conmutación por error manual siempre se ejecuta en el modo de pérdida de datos limitado, a menos que cambies el modo.
  • Modo force-data-loss

Para cambiar el modo de protección de datos, usa uno de los siguientes comandos:

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=force-data-loss

o

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=limited-data-loss

Cómo funcionan los modos de protección de datos

Si deseas probar cómo se comportará tu aplicación en una situación de conmutación por error real, puedes usar el modo force-data-loss porque representa con mayor precisión las condiciones de una conmutación por error durante una recuperación ante desastres.

Cualquier conmutación por error desde la réplica principal a la réplica pone en riesgo pérdida de datos. El modo limited-data-loss hace que haya una mínima pérdida de datos mediante la verificación de la diferencia de sincronización entre tu réplica principal y la réplica por debajo de 30 MB antes de iniciar la conmutación por error.

El modo force-data-loss anula esta comprobación en la sincronización de réplica principal. Si usas el modo force-data-loss cuando la sincronización de la réplica supera los 30 MB detrás de la instancia principal, podrías perder 30 MB de datos o más.

Métrica de bytes con replicación pendiente

La métrica bytes pendientes de replicación te indica cuántos bytes restantes debe copiar la réplica antes de crear una copia de seguridad completa. Puedes acceder a esta métrica en Google Cloud Console en la página de detalles de la instancia. Para ver la página de detalles de la instancia, haz clic en el ID de la instancia en la página lista de instancias del proyecto.

De manera alternativa, accede al explorador de métricas de Google Cloud's operations suite para tu proyecto y busca la métrica redis.googlapis.com/replication/offset_diff.

Cuándo ejecutar una conmutación por error manual

La conmutación por error manual con el modo de protección limited-data-loss predeterminado solo funciona si la métrica de bytes con replicación pendiente es inferior a 30 MB. Si deseas ejecutar una conmutación por error manual con bytes con replicación pendiente superiores a 30 MB, usa el modo de protección force-data-loss.

Si intentas conservar la mayor cantidad de datos posible, evita temporalmente que tu aplicación escriba en la instancia de Redis y espera a ejecutar la conmutación por error manual hasta que la métrica de bytes con replicación pendiente sea lo más baja posible. .

Posibles problemas que bloquean una conmutación por error manual

  • Ejecutar una conmutación por error manual en una instancia de nivel Básico no funciona porque las instancias de nivel Básico no tienen réplicas.

  • Si tu instancia de Redis está en mal estado, entonces la operación manual de conmutación por error se bloquea.

  • Si tu instancia tiene operaciones incompletas, como escalamiento o actualización, la operación de conmutación por error manual se bloquea. Debes esperar hasta que tu instancia tenga el estado READY para ejecutar una conmutación por error manual.

Conexión de aplicación cliente

Cuando tu nodo principal falla en la réplica, se descartan las conexiones existentes a Memorystore para Redis. Sin embargo, cuando se vuelve a conectar, tu aplicación se redirecciona automáticamente al nodo principal nuevo con la misma string de conexión o dirección IP.

Verifica una conmutación por error manual

Puedes verificar el éxito de una operación de conmutación por error manual con Google Cloud Console, Google Cloud's operations suite o gcloud.

Verificación de Cloud Console

Antes de iniciar una conmutación por error manual, ve a la página de lista de instancias de Memorystore para Redis y haz clic en el nombre de tu instancia.

Luego, en Propiedades de la instancia, consulta en qué zonas se encuentran la réplica principal. Toma nota de las zonas. Revisa esta página nuevamente cuando completes tu conmutación por error manual para confirmar que el nodo principal y el nodo de réplica cambiaron las zonas.

Verificación de Cloud Monitoring

Para consultar las métricas de un recurso supervisado con el Explorador de métricas, haz lo siguiente:

  1. En Google Cloud Console, ve a Monitoring o usa el siguiente botón:
    Ir a Monitoring
  2. En el panel de navegación de Monitoring, haz clic en  Explorador de métricas.
  3. Asegúrate de que esté seleccionada la pestaña Métrica.
  4. Haz clic en el cuadro que tiene la etiqueta Encontrar tipo de recurso y métrica y, a continuación, selecciona estos elementos en el menú o ingresa sus nombres. Usa la siguiente información para completar los campos de este cuadro de texto:
    1. En Recurso, selecciona o ingresa Cloud Memorystore Redis.
    2. En Métrica, selecciona o ingresa Función del nodo.
  5. Para modificar la forma en que se muestran los datos, usa los menús Filtro, Agrupar por y Agregación. Por ejemplo, puedes agrupar por etiquetas de recursos o métricas. Para obtener más información, consulta cómo seleccionar métricas.

El gráfico de Cloud Monitoring representa los nodos principal y de réplica con dos líneas. Cuando la línea de un nodo tiene un valor de cero en el gráfico, es el nodo de réplica. Cuando la línea de un nodo tiene un valor de uno en el gráfico, es el nodo principal. El gráfico representa una conmutación por error que muestra cómo las líneas cambian de uno a cero, y de cero a uno, respectivamente.

Verificación gcloud

Antes de iniciar una conmutación por error manual, usa el siguiente comando para verificar en qué zona se encuentra tu nodo principal:

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

Tu nodo principal se encuentra en la zona con la etiqueta currentLocationId. Anota la zona.

Después de completar una conmutación por error manual, puedes confirmar que tu nodo principal cambió a una zona nueva si ejecutas nuevamente el comando gcloud redis instances describe y verificas que las zonas currentLocationId hayan cambiado.

Además, la etiqueta locationId te indica la zona en la que aprovisionaste originalmente tu nodo principal. La etiqueta alternativeLocationId te indica la zona en la que el sistema aprovisionó originalmente tu nodo de réplica. Cada vez que se produce una conmutación por error, el nodo principal y de réplica cambia entre estas dos zonas. Sin embargo, las zonas asociadas con locationId y alternativeLocationId no cambian.