Comportamiento durante el escalamiento

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 Escalar 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 tu aplicación y cuándo puedes escalarla.

Recomendaciones para escalar una instancia

  • Recomendamos exportar los datos de tu instancia antes de escalar tu operación.

  • En el caso de las instancias de nivel Estándar, para aumentar la velocidad y la confiabilidad de tu operación de escalamiento, escala tu instancia durante períodos de tráfico bajo. Para aprender a supervisar el tráfico de instancias, consulta Supervisa 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 su página de detalles en 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 bajo para minimizar el impacto en el rendimiento de tu aplicación.

Comportamiento del escalamiento del nivel Estándar

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

Las instancias de nivel Estándar casi no tienen tiempo de inactividad durante el proceso de escalamiento porque todas las instancias de nivel Estándar tienen una instancia principal y una réplica. Durante el escalamiento, la réplica primero cambia de tamaño y, luego, se sincroniza con la instancia maestra. Una vez que la nueva réplica coincide con la nueva instancia principal, esta se conmuta por error a la nueva réplica. Durante la conmutación por error, se cancelan las conexiones a la instancia. Las aplicaciones deben incorporar una lógica de reintento en el código para poder reconectarse con la nueva instancia maestra. Finalmente, la instancia maestra anterior cambia de 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.