Alta disponibilidad y réplicas

En esta página, se proporciona una descripción general de cómo Memorystore para Redis proporciona alta disponibilidad con réplicas. Las réplicas tienen dos propósitos: alta disponibilidad y capacidad de procesamiento de lectura.

Alta disponibilidad

El clúster de Memorystore para Redis proporciona alta disponibilidad (HA) cuando replica un nodo principal de Redis en uno o más nodos de réplica. Recomendamos usar configuraciones de alta disponibilidad para las cargas de trabajo de producción.

Los cambios realizados en los datos del nodo principal se copian en la réplica mediante el protocolo de replicación asíncrona de Redis. Debido a la naturaleza asíncrona de la replicación, una réplica puede retrasarse en comparación con el nodo principal, según la tasa de escritura en la instancia principal. Si falla la instancia principal, la instancia realiza una conmutación por error automáticamente a una de las réplicas. Después de que una solicitud de conmutación por error redirecciona automáticamente a la nueva instancia principal y a las réplicas.

Réplicas

El clúster de Memorystore para Redis admite instancias con 0, 1 o 2 réplicas por nodo.

Forma del clúster con 0 réplicas por nodo

Una instancia del clúster de Memorystore para Redis sin réplicas que tiene nodos divididos de manera uniforme en tres zonas.

Forma del clúster con 1 réplica por nodo

Una instancia de clústeres de Memorystore para Redis con una réplica por nodo y nodos divididos de manera uniforme en tres zonas.

Forma del clúster con 2 réplicas por nodo

Una instancia de un clúster de Memorystore para Redis con dos réplicas por nodo y nodos divididos de manera uniforme en tres zonas.

Conmutación por error automática

Si la principal falla, se produce una conmutación por error automática. En este caso, una réplica se asciende para que sea la primaria.

En el caso de una conmutación por error, los comandos de la aplicación cliente pueden retrasarse durante 30 segundos, pero los comandos no se descartan y las conexiones no se pierden.

Volver a intentarlo en comandos bloqueados temporalmente puede generar latencia adicional para la aplicación cliente debido a la carga del servicio.