Alta disponibilidad y réplicas

En esta página, se explica cómo la arquitectura de Memorystore para Valkey admite y proporciona alta disponibilidad (HA). En esta página, también se explican las configuraciones recomendadas que contribuyen a mejorar el rendimiento y la estabilidad de las instancias.

Alta disponibilidad

Memorystore para Valkey se basa en una arquitectura de alta disponibilidad en la que tus clientes acceden directamente a los nodos administrados de Memorystore para Valkey. Para ello, se conectan a extremos individuales, como se describe en Cómo conectarse a una instancia de Memorystore para Valkey.

La conexión directa a los fragmentos proporciona los siguientes beneficios:

  • La conexión directa evita los saltos intermedios, lo que minimiza el tiempo de ida y vuelta (latencia del cliente) entre tu cliente y el nodo de Valkey.

  • Cuando el modo de clúster está habilitado, la conexión directa evita cualquier punto único de fallo, ya que cada fragmento está diseñado para fallar de forma independiente. Por ejemplo, si el tráfico de varios clientes sobrecarga un espacio (fragmento del espacio de claves), la falla del fragmento limita el impacto al fragmento responsable de entregar el espacio.

Recomendamos crear instancias de varias zonas con alta disponibilidad en lugar de instancias de zona única debido a la mayor confiabilidad que proporcionan. Sin embargo, si decides aprovisionar una instancia sin réplicas, te recomendamos que elijas una instancia de zona única. Para obtener más información, consulta Elige una instancia de zona única si tu instancia no usa réplicas.

Para habilitar la alta disponibilidad de tu instancia, debes aprovisionar al menos 1 nodo de réplica para cada fragmento. Puedes hacerlo cuando creas la instancia o puedes ajustar el recuento de réplicas a, al menos, 1 réplica por fragmento. Las réplicas proporcionan conmutación por error automática durante el mantenimiento planificado y las fallas inesperadas del fragmento.

Debes configurar el cliente según las instrucciones que se indican en Prácticas recomendadas para clientes. El uso de las prácticas recomendadas permite que tu cliente controle los siguientes elementos de tu instancia automáticamente y sin tiempo de inactividad:

  • El rol (conmutaciones por error automáticas)

  • El extremo (reemplazo de nodos)

  • Cambios en la asignación de ranuras relacionados con el modo de clúster habilitado (agrandamiento y reducción de escala del consumidor)

Réplicas

Una instancia de Memorystore para Valkey con alta disponibilidad es un recurso regional. Esto significa que Memorystore para Valkey distribuye los nodos principales y de réplica de los fragmentos en varias zonas para protegerte contra una interrupción zonal. Memorystore para Valkey admite instancias con 0, 1 o 2 réplicas por nodo.

Puedes usar réplicas para aumentar la capacidad de procesamiento de lectura a costa de una posible inactividad de los datos.

  • Modo de clúster habilitado: Usa el comando READONLY para establecer una conexión que permita que tu cliente lea desde las réplicas.
  • Modo de clúster inhabilitado: Conéctate al extremo de lector para conectarte a cualquiera de las réplicas disponibles.

Formas de instancias habilitadas para el modo de clúster

En los siguientes diagramas, se ilustran las formas de las instancias con el modo de clúster habilitado:

Con 3 fragmentos y 0 réplicas por nodo

Una instancia de Memorystore for Valkey con el modo de clúster habilitado sin réplicas que tiene nodos divididos de forma uniforme en tres zonas

Con 3 fragmentos y 1 réplica por nodo

Una instancia de Memorystore para Valkey con el modo de clúster habilitado con una réplica por nodo y nodos divididos de forma uniforme en tres zonas.

Con 3 fragmentos y 2 réplicas por nodo

Una instancia de Memorystore para Valkey con el modo de clúster habilitado con dos réplicas por nodo y nodos divididos de forma uniforme en tres zonas.

Formas de instancias con el modo de clúster inhabilitado

En los siguientes diagramas, se ilustran las formas de las instancias con el modo de clúster inhabilitado:

Con 2 réplicas

Una instancia de Memorystore para Valkey con el modo de clúster inhabilitado con dos réplicas y nodos divididos de forma uniforme en tres zonas.

Conmutación por error automática

Los resguardos automáticos dentro de un fragmento pueden ocurrir debido a mantenimiento o a una falla inesperada del nodo principal. Durante una conmutación por error, una réplica se asciende a la instancia principal. Puedes configurar réplicas de forma explícita. El servicio también puede aprovisionar réplicas adicionales de forma temporal durante el mantenimiento interno para evitar cualquier tiempo de inactividad.

Los resguardos automáticos evitan la pérdida de datos durante las actualizaciones de mantenimiento. Para obtener detalles sobre el comportamiento de conmutación por error automática durante el mantenimiento, consulta Comportamiento de conmutación por error automática durante el mantenimiento.

Duración de la conmutación por error y la reparación de nodos

Las conmutaciones por error automáticas pueden tardar decenas de segundos en eventos no planificados, como una falla del proceso del nodo principal o una falla de hardware. Durante este tiempo, el sistema detecta la falla y elige una réplica para que sea la nueva instancia principal.

La reparación de nodos puede tardar unos minutos en que el servicio reemplace el nodo con errores. Esto se aplica a todos los nodos principales y de réplica. En el caso de las instancias que no tienen alta disponibilidad (no se aprovisionaron réplicas), la reparación de un nodo principal con errores también lleva tiempo, en el orden de minutos.

Comportamiento del cliente durante una conmutación por error no planificada

Es probable que las conexiones del cliente se restablezcan según la naturaleza de la falla. Después de la recuperación automática, se deben volver a intentar las conexiones con retirada exponencial para evitar sobrecargar los nodos principales y de réplica.

Los clientes que usan réplicas para la capacidad de procesamiento de lectura deben prepararse para una degradación temporal de la capacidad hasta que se reemplace automáticamente el nodo con errores.

Escrituras perdidas

Durante una conmutación por error debido a una falla inesperada, es posible que se pierdan las escrituras confirmadas debido a la naturaleza asíncrona del protocolo de replicación de Valkey.

Las aplicaciones cliente pueden aprovechar el comando WAIT de Valkey para mejorar la seguridad de los datos en el mundo real.

Impacto del espacio de claves de una interrupción de una sola zona

En esta sección, se describe el impacto de una interrupción de una sola zona en una instancia de Memorystore para Valkey.

Instancias de varias zonas

  • Instancias de alta disponibilidad: Si una zona tiene una interrupción, todo el espacio de claves está disponible para operaciones de lectura y escritura, pero como algunas réplicas de lectura no están disponibles, se reduce la capacidad de lectura. Recomendamos que aprovisiones en exceso la capacidad del clúster para que la instancia tenga suficiente capacidad de lectura en el caso poco probable de que se produzca una interrupción en una sola zona. Una vez que finaliza la interrupción, se restablecen las réplicas en la zona afectada y la capacidad de lectura del clúster vuelve a su valor configurado. Para obtener más información, consulta Patrones de apps escalables y confiables.

  • Instancias sin HA (sin réplicas): Si una zona tiene una interrupción, la parte del espacio de claves aprovisionada en la zona afectada se vacía de datos y no está disponible para operaciones de escritura o lectura durante la interrupción. Una vez que finaliza la interrupción, se restablecen los elementos principales de la zona afectada y la capacidad del clúster vuelve a su valor configurado.

Instancias de zona única

  • Instancias con y sin HA: Si la zona en la que se aprovisiona la instancia tiene una interrupción, el clúster no estará disponible y se borrarán los datos. Si se produce una interrupción en una zona diferente, el clúster continúa entregando solicitudes de lectura y escritura.