Alta disponibilidad

En esta página, se describe la alta disponibilidad en instancias de Memorystore para Redis en el nivel Estándar. El nivel Estándar brinda una alta disponibilidad a través de la capacidad automática de conmutación por error y replicación. Memorystore para Redis no usa Redis Sentinel para alta disponibilidad.

Qué es la alta disponibilidad

Memorystore para Redis proporciona alta disponibilidad mediante la replicación de un nodo principal de Redis en un nodo de réplica. El nodo de réplica es una copia del nodo principal que replica cualquier cambio realizado en el nodo principal.

Cada instancia de Memorystore para Redis en el nivel Estándar se configura automáticamente como un par principal y de réplica. La réplica se usa como instancia en espera y debe estar en una zona diferente a la primaria. Las solicitudes de la aplicación se dirigen a la instancia maestra. Los cambios realizados a los datos en la instancia principal se copian en la réplica mediante el protocolo de replicación asíncrono de Redis.

Qué brinda la alta disponibilidad

Si el nodo principal falla, el servicio de Memorystore para Redis activa una conmutación por error. El servicio promueve la réplica para que sea la nueva principal y, después de la recuperación, la anterior se convierte en la réplica. En esencia, los nodos cambian las funciones.

Para tolerar errores de zonas, el nodo principal y el nodo de réplica se encuentran en diferentes zonas dentro de la misma región.

Una instancia de nivel Estándar conserva los datos de instancia en el caso de una falla de nodo único, ya que se crea una copia de seguridad de los datos en el nodo que no falla. Si el nodo principal y el nodo de réplica fallan al mismo tiempo debido a una falla multizona, no se podrán recuperar los datos.

Cuándo se activa una conmutación por error

Una conmutación por error ocurre cuando falla el nodo principal de Redis. Durante la conmutación por error, todas las solicitudes para la nueva instancia principal se redireccionan de forma automática a la réplica, y la instancia de Memorystore para Redis continúa respondiendo a tu aplicación.

Cómo afecta la conmutación por error a tus aplicaciones

Cuando el nodo principal falla en la réplica, las conexiones existentes a Memorystore para Redis se descartan. Sin embargo, cuando se vuelve a conectar, tu app se redirecciona de forma automática a la instancia principal nueva mediante la misma string de conexión o dirección IP. No necesitas actualizar tu aplicación después de una conmutación por error.

Mientras el servicio de Memorystore para Redis convierte la réplica en la instancia principal, la instancia de Memorystore para Redis no estará disponible. Cada nodo se ubica en una única zona, de modo que los errores de zona pueden tener como consecuencia un tiempo de recuperación prolongado. Durante este tiempo, solo habrá una copia de los datos.

Reintenta la conexión de la instancia después de la conmutación por error

Una conmutación por error siempre conduce a una pérdida de conexión. Esto es necesario porque internamente la principal y de réplica intercambian las funciones y las direcciones IP. Sin embargo, aún debes acceder a tu instancia de Redis mediante la dirección IP estática de la instancia.

Debido a esta pérdida de conexión, tu aplicación debe intentar restablecerla. La lógica de reintento debe usar la retirada exponencial para asegurarte de no sobrecargar la instancia con demasiadas solicitudes de reintento. Además de incluir la lógica de reintento, debes probar cómo una conmutación por error afecta a tu aplicación mediante la prueba con una conmutación por error manual.

La mayoría de los clientes de Redis tienen funcionalidades de reintento integradas que debes aprovechar en caso de fallas de conexión debido a una conmutación por error.

En una de estas situaciones, se produce una conmutación por error:

Si implementas la lógica de reintento en tu aplicación para controlar las disminuciones debido a las conmutaciones por error, la instancia no debería ver un impacto significativo en el rendimiento. Por lo general, solo ocurren problemas porque no tienen lógica de reintento en su lugar.

Cómo visualizar el estado de alta disponibilidad

Puedes visualizar las métricas de alta disponibilidad para tu instancia de Redis mediante Google Cloud's operations suite. A fin de obtener más información acerca de las métricas que proporciona Google Cloud's operations suite para Memorystore for Redis, consulta Supervisa instancias de Redis. Si deseas obtener más información sobre cómo usar Google Cloud's operations suite con Google Cloud, consulta la Documentación de Stackdriver Monitoring.

A fin de visualizar el estado de replicación nativo que brinda Redis, puedes ejecutar el comando INFO de Redis a la instancia de Memorystore para Redis.

Qué sigue