En esta página se explica cómo realiza Memorystore for Valkey el mantenimiento de las instancias. También proporciona información y recomendaciones de configuración que deben tener en cuenta tus aplicaciones cliente para aprovechar el diseño de mantenimiento sin tiempo de inactividad de Memorystore para Valkey. Estas recomendaciones se aplican tanto a las instancias de alta disponibilidad como a las que no tienen réplicas. Sin embargo, para todos los casos prácticos de producción, te recomendamos que uses la configuración de alta disponibilidad.
Memorystore for Valkey actualiza las instancias de forma rutinaria para asegurarse de que el servicio sea fiable, tenga un buen rendimiento, sea seguro y esté actualizado. Estas actualizaciones se denominan mantenimiento. El servicio gestiona el mantenimiento por completo y está diseñado para que no afecte al tiempo de inactividad.
El mantenimiento suele clasificarse en las siguientes categorías:
- Funciones de Memorystore. Para lanzar algunas funciones, Memorystore requiere una actualización de mantenimiento.
- Parches del sistema operativo. Monitorizamos continuamente las vulnerabilidades de seguridad recién identificadas en el sistema operativo. Cuando las detectamos, aplicamos parches al sistema operativo para protegerte de los nuevos riesgos.
- Parches de bases de datos. El mantenimiento puede incluir una actualización de Valkey para mejorar la seguridad, el rendimiento y la fiabilidad de una instancia. Esto va más allá de lo que ofrece Valkey de software libre.
Configurar la aplicación cliente
Para configurar tu aplicación cliente de forma que tenga el mejor rendimiento y disponibilidad posibles durante el mantenimiento, sigue estos pasos:
- Usa y configura tu cliente de terceros según las directrices de las prácticas recomendadas para clientes de Valkey para asegurarte de que el mantenimiento programado no afecte a la aplicación cliente. Nuestras configuraciones de cliente recomendadas pueden evitar que se restablezcan las conexiones mediante actualizaciones periódicas de la topología insertada y rotaciones de conexiones en segundo plano.
- Prueba tu aplicación cliente con una serie de operaciones de actualización (como aumentar o reducir la escala, o cambiar el número de réplicas) mientras ejecutas una carga de trabajo representativa en los nodos primario y de réplica, y monitoriza el impacto en el cliente. Estas actualizaciones prueban la lógica de actualización de la topología insertada en los clientes, el impacto de la sincronización completa, el descubrimiento de nodos nuevos y la capacidad de eliminar nodos. Las pruebas ayudan a asegurarse de que el cliente de terceros esté configurado correctamente para evitar que afecte negativamente a tu aplicación.
Mantenimiento programado
Memorystore for Valkey utiliza una implementación gradual y una estrategia de ciclo de vida de creación antes de destrucción para evitar que el mantenimiento programado de Memorystore afecte al tiempo de inactividad de tus instancias de Valkey. Memorystore for Valkey consigue un mantenimiento sin tiempo de inactividad mediante las funciones de redirección de solicitudes del protocolo de la instancia de Valkey de código abierto con los siguientes mecanismos de Memorystore:
- Una conmutación por error coordinada sin pérdida de datos.
- Una eliminación de nodos gradual para permitir que los clientes se pongan al día con las actualizaciones de la topología de nodos sin que se vea afectada la disponibilidad.
- Los endpoints de Private Service Connect de la instancia, que no se ven afectados por el mantenimiento. Para obtener más información sobre estos endpoints, consulta Endpoints de instancias.
El comportamiento del servicio descrito en las siguientes secciones se aplica únicamente al mantenimiento programado. Para obtener más información sobre el impacto de los eventos no planificados, como los fallos de hardware, consulta Comportamiento del cliente durante una conmutación por error no planificada.
Ventanas de mantenimiento predeterminadas
De forma predeterminada, Memorystore actualiza tu instancia en las siguientes ventanas según la zona horaria de la instancia:
- Ventana de días laborables (de lunes a viernes): de 22:00 a 6:00
- Ventana de fin de semana: desde el viernes a las 22:00 hasta el lunes a las 6:00
Estrategia de despliegue gradual
Memorystore para Valkey realiza implementaciones con un ámbito que aumenta progresivamente y a un ritmo que permite detectar errores con la suficiente antelación para mitigar cualquier impacto y establecer la confianza en la estabilidad. Los tiempos de cocción (el tiempo durante el cual se aplica y se monitoriza la actualización antes de considerarla correcta y seguir adelante) se integran en toda la flota de instancias de Memorystore a escala de servicio. Además, los tiempos de compilación se integran en las instancias de las zonas de una región (varios dominios de fallos) para reducir el alcance del impacto, si lo hay.
En el caso de las instancias configuradas para ofrecer alta disponibilidad, Memorystore para Valkey actualiza como máximo un dominio de fallos o una zona en cualquier momento para asegurarse de que un fragmento de instancia, incluidas las réplicas y la instancia principal, tenga alta disponibilidad durante la actualización. Además, Memorystore for Valkey solo actualiza unos pocos nodos a la vez. Las actualizaciones usan un mecanismo de ciclo de vida de creación antes de destrucción para maximizar la estabilidad de una instancia. Esta estrategia ofrece las mayores ventajas al actualizar una instancia con muchos fragmentos. Aplicar las actualizaciones solo a una pequeña parte del espacio de claves de usuario en cualquier momento maximiza la disponibilidad de los datos.
Estrategia de ciclo de vida de creación antes de destrucción
Una instancia de Valkey tiene varios fragmentos. Cada fragmento tiene un nodo principal y cero o más nodos de réplica. Memorystore sigue este proceso para actualizar cualquier nodo de Valkey principal o de réplica de un fragmento:
- Memorystore for Valkey añade una nueva réplica al fragmento con la actualización de software más reciente. Memorystore crea un nodo nuevo en lugar de actualizar uno ya creado para asegurarse de que se conserva la capacidad aprovisionada si se produce un error inesperado en el arranque.
- Si un nodo de la partición que se va a actualizar es un nodo principal, primero se convierte en una réplica antes de eliminarlo mediante una conmutación por error coordinada.
- Memorystore elimina la réplica que usa el software anterior.
- Memorystore repite este proceso con cada nodo de la instancia.
La estrategia de crear antes de destruir ayuda a conservar la capacidad aprovisionada de la instancia, en comparación con una implementación continua típica que se actualiza in situ, pero provoca una interrupción de la disponibilidad (y, a veces, una pérdida de datos) para la aplicación cliente. En el caso de los fragmentos sin réplicas, Memorystore para Valkey sigue aprovisionando primero una réplica nueva, coordina la conmutación por error y, por último, sustituye el nodo principal del fragmento.
Paso 1: Añade una réplica
El primer paso del mecanismo de creación antes de destrucción es añadir un nodo de réplica con el software más reciente mediante el mecanismo de sincronización completa de OSS Valkey para copiar los datos del nodo principal al de réplica. Para ello, se bifurca un proceso secundario y se aprovecha la replicación sin disco para iniciar la réplica.
Para aprovechar al máximo la arquitectura de escalado horizontal de la instancia, puede aprovisionar un mayor número de fragmentos para reducir el tamaño del espacio de claves en un nodo. Tener un conjunto de datos más pequeño por nodo ayuda a reducir el impacto de la latencia de bifurcación de una operación de sincronización completa. También acelera la copia de datos entre los nodos.
Paso 2: Ejecuta una conmutación por error principal coordinada
Si el nodo de Valkey que se debe actualizar es un nodo principal, Memorystore ejecuta una conmutación por error coordinada al nodo de réplica recién añadido. A continuación, Memorystore elimina el nodo. Durante la conmutación por error coordinada, el cliente y los nodos de Valkey trabajan juntos y usan las siguientes estrategias para evitar el tiempo de inactividad de la aplicación:
- Las solicitudes de clientes entrantes se bloquean temporalmente en el nodo principal, lo que proporciona un periodo para asegurarse de que la réplica existente se sincronice al 100% con el nodo principal.
- La réplica completa el proceso de elección para asumir el rol principal.
- El nodo principal anterior, que ahora es un nodo de réplica, desbloquea las solicitudes existentes y las redirige al nuevo nodo principal mediante el protocolo de la instancia de Valkey de OSS. Las nuevas solicitudes que se envíen al nodo de réplica anterior seguirán redirigiéndose al nuevo nodo principal.
- Tu cliente compatible con Valkey actualiza su topología en memoria. Aprende la dirección del nuevo endpoint principal y ya no necesita redirecciones.
Las conmutaciones por error coordinadas suelen tardar decenas de milisegundos. Sin embargo, los datos en tránsito pendientes de vaciarse en las réplicas y el tamaño total de la instancia pueden aumentar la latencia de conmutación por error. El tamaño de la instancia puede afectar a la convergencia entre los nodos principales, lo que influye en la toma de decisiones sobre la elección del nuevo nodo principal.
Paso 3: Elimina la réplica
El último paso del mecanismo de creación antes de la destrucción consiste en eliminar el nodo de réplica del software anterior. Si se elimina un nodo de forma abrupta, las aplicaciones cliente se verían afectadas, ya que almacenan en caché la información del endpoint y la topología de la instancia. Memorystore for Valkey ha diseñado la eliminación de una réplica de Valkey para que sea gradual y permita que las aplicaciones cliente actualicen su topología antes de que se cierre un nodo de forma abrupta. La topología se personaliza para que los clientes puedan conocer la nueva réplica, pero también para que olviden la que se va a quitar con antelación.
El nodo de réplica que ejecuta el software anterior se mantiene durante un periodo de purga determinado, normalmente de unos minutos, durante el cual empieza a redirigir las solicitudes de lectura entrantes al nodo principal de su partición. Permite que el cliente de terceros actualice la topología de los nodos y obtenga información sobre los nuevos endpoints de réplica. Si el cliente intenta acceder a un nodo eliminado después del periodo de drenaje, el intento fallará. De esta forma, se activa una actualización de la topología de nodos en el cliente que se conecta para que se entere del cambio de réplica. En las nuevas actualizaciones de la topología de nodos no se ve el nodo de réplica que se va a eliminar.
Ajustes de mantenimiento
Memorystore para Valkey te permite personalizar las programaciones de mantenimiento para adaptarlas a las necesidades de tu aplicación y minimizar las interrupciones. Para personalizar una programación de mantenimiento, configura una ventana de mantenimiento para tu instancia.
Puedes definir ventanas de mantenimiento para cada instancia de Memorystore para Valkey y tienes las siguientes opciones de configuración:
- Día de la semana: el día en el que se realiza el mantenimiento.
- Hora de inicio: la hora en la que empieza el mantenimiento.
La ventana de mantenimiento dura una hora. En algunos casos, el mantenimiento puede prolongarse más allá del periodo que selecciones.
Después de configurar una ventana de mantenimiento para una instancia, Memorystore para Valkey programa el mantenimiento automático en el futuro según las preferencias que hayas definido para las ventanas de mantenimiento.
Ventanas de mantenimiento predeterminadas
Si no defines una ventana de mantenimiento, Memorystore para Valkey actualizará tu instancia en una de las siguientes ventanas, según la zona horaria de tu instancia:
- Ventana de días laborables (de lunes a viernes): de 22:00 a 6:00
- Ventana de fin de semana: desde las 22:00 del viernes hasta las 6:00 del lunes
Ejemplo de mantenimiento
Como desarrollador que gestiona un servicio de carrito de la compra en un comercio, supervisas un entorno de producción que incluye una instancia de Memorystore para Valkey. Para asegurar un rendimiento óptimo durante el mantenimiento, prográmalo para cuando la instancia tenga el mínimo tráfico posible. Esto suele ocurrir alrededor de la medianoche de los domingos.
En este caso, define la ventana de mantenimiento de tu instancia de producción para el siguiente día y hora:
- Día de la semana: domingo
- Hora de inicio: 1:00
Notificaciones de mantenimiento programado
Para asegurarte de que estás al tanto de los eventos de mantenimiento de tu instancia, configura notificaciones por correo electrónico sobre el mantenimiento programado al menos una semana antes de que se lleve a cabo. Estas notificaciones tienen el asunto "Upcoming
maintenance for your Cloud Memorystore instance [your-instance-name]"
.
Memorystore para Valkey también envía una notificación cuando empieza el mantenimiento de tu instancia. El asunto del correo es "Maintenance
is undergoing for your Cloud Memorystore instance [your-instance-name]"
.
Una vez que Memorystore para Valkey completa el mantenimiento, envía una notificación de finalización. El asunto del correo es "Completed Maintenance
for your Cloud Memorystore instance [your-instance-name]"
.
Si Memorystore para Valkey reprograma el mantenimiento, recibirás un correo en el que se te notificará la cancelación. El asunto de este correo es "Canceled maintenance for your Cloud Memorystore instance [your-instance-name]"
.
Para recibir notificaciones de mantenimiento, debes habilitarlas. Para registrarte y recibir notificaciones de mantenimiento, sigue estos pasos:
Para recibir notificaciones de mantenimiento de Memorystore para Valkey, sigue estos pasos al menos una semana antes de la actualización de mantenimiento programada de tu instancia. De lo contrario, Memorystore for Valkey no tendrá tiempo suficiente para notificarte el mantenimiento programado.
Memorystore para Valkey envía notificaciones a la dirección de correo asociada a tu cuenta de Google. No puedes configurar un alias de correo personalizado (por ejemplo, un alias de correo de equipo). Además, no admitimos el envío de notificaciones a otra dirección de correo.
Si te suscribes a las notificaciones de mantenimiento, recibirás alertas de todas las instancias de Memorystore para Valkey que tengan programado un mantenimiento en un Google Cloud proyecto. Recibirás una notificación independiente por cada instancia.
Para obtener más información sobre cómo encontrar un mantenimiento programado, consulta Buscar un mantenimiento programado.
Reprogramar el mantenimiento
En esta sección se ofrecen directrices sobre cómo reprogramar el mantenimiento. Por ejemplo, si se va a lanzar un nuevo servicio durante tu ventana de mantenimiento actual, puede que quieras posponerla hasta unos días después del lanzamiento.
Puedes reprogramar el mantenimiento en un plazo de 14 días a partir de la hora programada originalmente. Como parte de la reprogramación del mantenimiento, elija una de las siguientes opciones:
- Actualizar ahora: en lugar de esperar a la ventana de mantenimiento programada, puedes aplicar las actualizaciones a tu instancia inmediatamente.
- Día y hora personalizados: elige cualquier momento en un plazo de dos semanas a partir de la hora de mantenimiento programada originalmente.
Cuando reprogrames el mantenimiento, se aplicarán las siguientes restricciones:
- Si queda menos de una hora para la hora de mantenimiento programada, no podrás reprogramarlo.
- Una vez que hayas reprogramado el mantenimiento correctamente, Memorystore para Valkey te enviará una notificación por correo para confirmar la cancelación del mantenimiento anterior. Además, recibirás una nueva notificación de mantenimiento con la programación actualizada.
Para obtener más información sobre cómo reprogramar el mantenimiento, consulta Reprogramar el mantenimiento.
Preguntas frecuentes
En esta sección se incluyen las preguntas frecuentes sobre el mantenimiento de Memorystore para Valkey.
¿Cómo sabes cuándo se ha programado el mantenimiento de tu instancia?
Para saber cuándo se ha programado el mantenimiento de tu instancia, te recomendamos que te suscribas a las notificaciones y configures una ventana de mantenimiento. También puede comprobar manualmente su instancia para ver si el parámetro maintenanceSchedule
aparece en la respuesta.
¿Cuándo te avisa Memorystore for Valkey sobre el mantenimiento programado?
Si te suscribes a las notificaciones de mantenimiento y defines una ventana de mantenimiento, Memorystore para Valkey te enviará una notificación por correo electrónico al menos una semana antes de un evento de mantenimiento.
¿Cuánto tiempo puedes aplazar el mantenimiento?
Después de programar el mantenimiento de tu instancia, puedes iniciar la actualización de tu instancia inmediatamente o aplazarla hasta dos semanas a partir de la fecha y hora de mantenimiento programadas originalmente.
Por ejemplo, si programa el mantenimiento para el 11 de octubre a las 23:15, puede aplazarlo hasta el 25 de octubre a las 23:15. Si no haces nada, el mantenimiento se realizará en la fecha y hora programadas.
Para obtener más información, consulta Reprogramar el mantenimiento.
¿Qué prácticas recomendadas permiten disfrutar de una experiencia de actualización de mantenimiento fluida?
Para que la actualización de mantenimiento se realice sin problemas, te recomendamos que hagas lo siguiente:
- Sigue las instrucciones para configurar tu aplicación cliente.
- Define la ventana de mantenimiento para un día y una hora en los que tu instancia tenga el mínimo tráfico posible (por ejemplo, los domingos a medianoche).
- Habilita las notificaciones de mantenimiento. Por lo tanto, Memorystore para Valkey te envía una notificación por correo electrónico al menos siete días antes de que se programe una actualización de mantenimiento para tu instancia.
- Si no tienes una hora de bajo impacto o sin impacto para el uso de tu aplicación, utiliza el valor predeterminado del servicio para las implementaciones graduales. Este valor predeterminado incluye las prácticas recomendadas para las actualizaciones de mantenimiento. Para obtener más información, consulta Mantenimiento programado.
¿Cuándo puedes aplicar el mantenimiento inmediatamente?
Puedes aplicar una actualización de mantenimiento inmediatamente en una instancia de prueba para ver cómo afecta a tu aplicación. Puedes observar el impacto de esta actualización. Si hay problemas con la actualización, puedes aplazar el mantenimiento de tus instancias de producción hasta que los resuelvas.
Si el día y la hora actuales son adecuados para tu instancia y prevés que la carga de tu instancia será alta en el futuro, puedes ejecutar la actualización de mantenimiento inmediatamente.
¿Las actualizaciones de mantenimiento siempre se completan dentro de la ventana de mantenimiento?
Memorystore para Valkey inicia una actualización de mantenimiento dentro de la ventana de mantenimiento que especifiques. Memorystore for Valkey suele completar la actualización en la ventana, pero no siempre es así.
¿Puedo inhabilitar el mantenimiento o programarlo primero en determinadas instancias?
No puedes inhabilitar el mantenimiento ni controlar el orden de mantenimiento de tus instancias. Sin embargo, después de recibir la notificación inicial de mantenimiento, puedes reprogramar el mantenimiento para aplazarlo hasta dos semanas.
Siguientes pasos
- Consulta los permisos necesarios para gestionar las ventanas de mantenimiento de tu instancia.