Comportamiento del escalamiento de instancias

En esta página, se describe cómo se comporta tu instancia de Memorystore para Redis durante el escalamiento. Para aprender a escalar una instancia de Redis, consulta Escala instancias de Redis.

Según el nivel de la instancia, el escalamiento tiene implicaciones para el rendimiento y el almacenamiento de tu aplicación. También existen algunas limitaciones para escalar instancias según la cantidad de memoria que está actualmente en uso. En esta página, se describe cómo el escalamiento de una instancia puede afectar a la aplicación y cuándo puedes escalar una instancia.

Prácticas recomendadas para escalar una instancia

  • Te recomendamos exportar los datos de tu instancia antes de escalarla.

  • Para instancias de nivel Estándar, a fin de aumentar la velocidad y la confiabilidad de tu operación de escalamiento, escala la instancia durante períodos de tráfico de instancia bajo. Para aprender a supervisar el tráfico de las instancias, consulta Supervisa las instancias de Redis.

  • Cuando se reduce la capacidad de una instancia de nivel Estándar, debes elegir un tamaño superior a la cantidad de datos que se almacenan o fallará el escalamiento.

    • Por ejemplo, si tienes una instancia de 10 GB con 5.5 GB de datos almacenados, puedes cambiar el tamaño de la instancia a un mínimo de 6 GB. La cantidad de almacenamiento que usa tu instancia se puede ver en la página de detalles de Cloud Console.

Comportamiento del escalamiento del nivel Básico

Las instancias de nivel Básico bloquean las lecturas y escrituras mientras la instancia cambia de tamaño a la capacidad deseada. Después de cambiar el tamaño de la instancia, se limpian todos los datos de la caché. Escala una instancia durante un período de tráfico de instancia bajo para minimizar el impacto en el rendimiento en la aplicación.

Recomendamos exportar una copia de seguridad de tu instancia antes del escalamiento y importar la copia de seguridad una vez que se completa la operación de escalamiento.

Comportamiento del escalamiento del nivel Estándar

Escala instancias de nivel Estándar durante un período de baja actividad a fin de minimizar el impacto en el rendimiento del escalamiento en tu aplicación.

Las instancias de nivel Estándar casi no experimentan tiempos de inactividad durante el proceso de escalamiento, ya que todas las instancias de nivel Estándar tienen un nodo principal y un nodo de réplica. Durante el escalamiento, la réplica primero cambia de tamaño y, luego, se sincroniza con la instancia principal. Una vez que la réplica nueva alcanza a la nueva instancia principal, esta se conmuta por error a la nueva réplica.

Durante la conmutación por error, se finalizan las conexiones a la instancia. Las aplicaciones deben incorporar la lógica de reintento en el código para poder reconectarse con el nuevo nodo principal. Por último, la instancia de nodo principal anterior cambia su tamaño.

Luego de que el escalamiento se haya completado, pueden existir datos inactivos o incoherentes en la caché debido a la naturaleza asíncrona de la replicación de Redis. La aplicación debe ser lo suficientemente resiliente para controlar las incoherencias que surjan durante la conmutación por error.

Carga de escritura durante el escalamiento

Cuando escales una instancia de nivel Estándar, mantén la carga de escritura de la instancia al mínimo. Una carga de escritura alta puede hacer que el escalamiento demore mucho más tiempo en completarse y el proceso de escalamiento falle.

Claves vencidas

Cuando se escala una instancia de nivel Estándar, las claves vencidas no se sincronizan. Si tienes claves vencidas en tu instancia de Redis antes de escalar, tendrás menos claves luego del escalamiento.