Información acerca del mantenimiento

En esta página, se explica cómo Memorystore para Valkey realiza el mantenimiento de las instancias. También proporciona información y recomendaciones de configuración que tus aplicaciones cliente deben conocer para aprovechar el diseño de mantenimiento sin tiempo de inactividad de Memorystore para Valkey. Estas recomendaciones se aplican tanto a las instancias con alta disponibilidad como a las instancias sin réplicas. Sin embargo, para todos los casos de uso de producción, te recomendamos que uses la configuración de alta disponibilidad.

Memorystore para Valkey actualiza las instancias de forma rutinaria para garantizar que el servicio sea confiable, seguro, esté actualizado y tenga un buen rendimiento. Estas actualizaciones se denominan mantenimiento. El servicio administra el mantenimiento por completo y está diseñado para no generar tiempo de inactividad.

Por lo general, el mantenimiento se clasifica en las siguientes categorías:

  • Funciones de Memorystore. Para lanzar algunas funciones, Memorystore requiere una actualización de mantenimiento.
  • Parches del sistema operativo. Supervisamos de forma continua las vulnerabilidades de seguridad recién identificadas en el sistema operativo. Después de la detección, aplicamos un parche al sistema operativo para protegerte de los riesgos nuevos.
  • Parches de bases de datos. El mantenimiento puede incluir una actualización de Valkey para mejorar la seguridad, el rendimiento y la confiabilidad de una instancia. Esto va más allá de lo que proporciona Valkey de OSS.

Configura tu aplicación cliente

Para configurar tu aplicación cliente y obtener el mejor rendimiento y disponibilidad durante el mantenimiento, sigue estos pasos:

  1. Usa y configura tu cliente externo según las instrucciones que se indican en Prácticas recomendadas para el cliente de Valkey para asegurarte de que el mantenimiento programado no afecte la aplicación cliente. Nuestras configuraciones de cliente recomendadas pueden evitar los restablecimientos de conexión a través de actualizaciones periódicas de la topología intercalada y rotaciones de conexión en segundo plano.
  2. Prueba tu aplicación cliente con una serie de operaciones de actualización (como el ajuste de la escala o los cambios en el recuento de réplicas) mientras ejecutas una carga de trabajo representativa en los nodos principales y de réplica, y supervisa el impacto en el cliente. Estas actualizaciones prueban la lógica de actualización de la topología intercalada en los clientes, el impacto de la sincronización completa, el descubrimiento de nodos nuevos y la capacidad de quitar nodos existentes. Las pruebas ayudan a garantizar que el cliente externo esté configurado correctamente para evitar cualquier impacto negativo en tu aplicación.

Mantenimiento programado

Memorystore para Valkey aprovecha una implementación gradual y una estrategia de ciclo de vida de creación previa a la destrucción para evitar cualquier impacto por tiempo de inactividad del mantenimiento programado de Memorystore en tus instancias de Valkey. Memorystore para Valkey logra un mantenimiento sin tiempo de inactividad con las capacidades de redireccionamiento de solicitudes del protocolo de instancias de Valkey de OSS y los siguientes mecanismos de Memorystore:

  1. Una conmutación por error coordinada sin pérdida de datos
  2. Es una eliminación correcta del nodo para permitir que los clientes se pongan al día con las actualizaciones de la topología del nodo sin que se vea afectada la disponibilidad.
  3. Los extremos de Private Service Connect de la instancia, que no se ven afectados por el mantenimiento. Para obtener más información sobre estos extremos, consulta Extremos de instancias.

El comportamiento del servicio que se describe en las siguientes secciones se aplica solo al mantenimiento programado. Para obtener más información sobre el impacto de los eventos no planificados, como las fallas de hardware, consulta Comportamiento del cliente durante una conmutación por error no planificada.

Períodos de mantenimiento predeterminados

De forma predeterminada, Memorystore actualiza tu instancia en los siguientes períodos según la zona horaria de la instancia:

  • Período de días de la semana (de lunes a viernes): De 10 p.m. a 6 a.m.
  • Período de fines de semana: Del viernes a las 10 p.m. al lunes a las 6 a.m.

Estrategia de implementación gradual

Memorystore para Valkey realiza implementaciones con un alcance que aumenta de forma progresiva y a un ritmo que permite detectar fallas con la suficiente anticipación como para mitigar cualquier impacto y establecer confianza en la estabilidad. Los tiempos de confirmación (el tiempo durante el cual se aplica y supervisa la actualización antes de considerarla exitosa y continuar) se integran en toda la flota de instancias de Memorystore a escala del servicio. Además, los tiempos de espera se integran en las instancias de las zonas de una región (varios dominios de fallas) para reducir el alcance del impacto, si lo hubiera.

En el caso de tu instancia configurada para alta disponibilidad, Memorystore para Valkey actualiza, como máximo, un dominio de falla o una zona a la vez para garantizar que un fragmento de instancia, incluidas las réplicas y la instancia principal, tenga alta disponibilidad durante toda la actualización. Además, Memorystore para Valkey solo actualiza unos pocos nodos a la vez. Las actualizaciones usan un mecanismo de ciclo de vida de crear antes de destruir para maximizar la estabilidad de una instancia. Esta estrategia proporciona la mayor cantidad de beneficios cuando se actualiza una instancia con muchos fragmentos. Aplicar las actualizaciones solo a una pequeña parte del espacio de claves general del usuario en cualquier momento maximiza la disponibilidad de los datos.

Estrategia de ciclo de vida de crear antes de destruir

Una instancia de Valkey tiene varios fragmentos. Cada fragmento tiene un nodo principal y cero o más nodos de réplica. Memorystore usa el siguiente proceso para actualizar cualquier nodo principal o de réplica de Valkey existente en un fragmento:

  1. Memorystore for Valkey agrega una réplica nueva con la actualización de software más reciente al fragmento. Memorystore crea un nodo nuevo, en lugar de actualizar uno existente, para garantizar que se conserve la capacidad aprovisionada si se produce una falla inesperada en el proceso de arranque.
  2. Si un nodo dentro del fragmento que se actualizará es un nodo principal, primero se convierte en una réplica antes de quitarlo con una conmutación por error coordinada.
  3. Memorystore quita la réplica que usa el software anterior.
  4. Memorystore repite este proceso para 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 de forma local, pero genera una interrupción de la disponibilidad (y, a veces, pérdida de datos) para la aplicación cliente. En el caso de las particiones sin réplicas, Memorystore para Valkey primero aprovisiona una réplica nueva, coordina la conmutación por error y, por último, reemplaza el nodo principal existente de la partición.

Paso 1: Agrega una réplica

El primer paso del mecanismo de creación previa a la destrucción es agregar un nodo de réplica con el software más reciente usando el mecanismo de sincronización completa de Valkey de OSS para copiar los datos del nodo principal al nodo de réplica. Para ello, se bifurca un proceso secundario y se aprovecha la replicación sin disco para iniciar la réplica. Memorystore para Valkey admite la replicación sin disco. A menos que habilites la persistencia, Memorystore para Valkey no usa discos durante la replicación.

Para aprovechar al máximo la arquitectura de escalamiento horizontal de la instancia, puedes aprovisionar una mayor cantidad de fragmentos para reducir el tamaño del espacio de claves dentro de 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 agregado recientemente. Luego, Memorystore quita el nodo. Durante la conmutación por error coordinada, el cliente y los nodos de Valkey trabajan en conjunto y usan las siguientes estrategias para evitar el tiempo de inactividad de la aplicación:

  1. Las solicitudes entrantes del cliente se bloquean temporalmente en el nodo principal, lo que proporciona una ventana para garantizar que la réplica existente esté sincronizada al 100% con el nodo principal.
  2. La réplica completa el proceso de elección para asumir el rol principal.
  3. El nodo principal anterior, que ahora es un nodo de réplica, desbloquea las solicitudes existentes y las redirecciona al nuevo nodo principal con el protocolo de instancia de Valkey de OSS. Las solicitudes nuevas que se envíen al nodo de réplica anterior seguirán redireccionándose al nodo principal nuevo.
  4. Tu cliente compatible con Valkey actualiza su topología en la memoria. Aprende la dirección del nuevo extremo principal y ya no requiere redireccionamientos.

Por lo general, las conmutaciones por error coordinadas tardan 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 la convergencia en los nodos principales, lo que afecta la toma de decisiones sobre la elección del nuevo nodo principal.

Paso 3: Quita la réplica

El último paso del mecanismo de creación previa a la destrucción es quitar el nodo de réplica del software anterior. La eliminación abrupta de un nodo tendría un gran impacto en las aplicaciones cliente, ya que estas almacenan en caché la información del extremo y la topología de la instancia. Memorystore para Valkey diseñó la eliminación de una réplica de Valkey para que sea correcta y permita que las aplicaciones cliente actualicen su topología antes de experimentar un cierre forzado del nodo. La topología se personaliza para permitir que los clientes conozcan la réplica nueva, pero también olviden la que se quitará con anticipación.

El nodo de réplica que ejecuta el software anterior se mantiene durante un cierto período de vaciado, por lo general, del orden de minutos, durante el cual comienza a redireccionar las solicitudes de lectura entrantes al nodo principal de su fragmento. Permite que el cliente externo actualice la topología del nodo y obtenga información sobre los nuevos extremos de réplica. Si el cliente intenta acceder a un nodo quitado después del período de vaciado, el intento fallará. Esto activa una actualización de la topología del nodo en el cliente que se conecta para que conozca el cambio de réplica. Las actualizaciones nuevas de la topología de nodos no ven el nodo de réplica que se quitará.

Configuración de mantenimiento

Memorystore para Valkey te permite personalizar los programas de mantenimiento para que se alineen con las necesidades de tu aplicación y minimizar las interrupciones. Para personalizar un programa de mantenimiento, configura un período de mantenimiento para tu instancia.

Puedes establecer períodos de mantenimiento para cada instancia de Memorystore para Valkey y tienes las siguientes opciones de configuración:

  • Día de la semana: Día en el que se realiza el mantenimiento
  • Hora de inicio: Hora en la que comienza el mantenimiento

El período de mantenimiento dura una hora. En algunos casos, el mantenimiento puede extenderse más allá del período que selecciones.

Después de configurar un período de mantenimiento para una instancia, Memorystore para Valkey programa el mantenimiento automático en el futuro según las preferencias que establezcas para los períodos de mantenimiento.

Períodos de mantenimiento predeterminados

Si no configuras un período de mantenimiento, Memorystore para Valkey actualizará tu instancia en uno de los siguientes períodos, según la zona horaria de la instancia:

  • Período de días de la semana (de lunes a viernes): De 10:00 p.m. a 6:00 a.m.
  • Período de fin de semana: Del viernes a las 10 p.m. al lunes a las 6 a.m.

Ejemplo de mantenimiento

Como desarrollador que administra un servicio de carrito de compras en un comercio minorista, supervisas un entorno de producción que incluye una instancia de Memorystore para Valkey. Para garantizar un rendimiento óptimo durante el mantenimiento, prográmalo para cuando la instancia experimente un tráfico mínimo. Por lo general, esto ocurre alrededor de la medianoche de los domingos.

En este caso, establece el período 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 a.m.

Próximas notificaciones de mantenimiento

Para asegurarte de mantenerte informado sobre los eventos de mantenimiento en tu instancia, configura las notificaciones por correo electrónico sobre el próximo mantenimiento al menos una semana antes de que se programe el mantenimiento. 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 comienza el mantenimiento de tu instancia. El asunto del correo electrónico 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 electrónico es "Completed Maintenance for your Cloud Memorystore instance [your-instance-name]".

Si Memorystore para Valkey reprograma el mantenimiento, recibirás un correo electrónico en el que se te notificará la cancelación del mantenimiento. El asunto de este correo electrónico 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, haz lo siguiente:

  1. Configura un período de mantenimiento.
  2. Habilita las notificaciones de mantenimiento.

Para recibir notificaciones de mantenimiento de Memorystore para Valkey, completa estos pasos al menos una semana antes de la actualización de mantenimiento programada para tu instancia. De lo contrario, Memorystore para Valkey no tendrá tiempo suficiente para notificarte sobre el próximo mantenimiento.

Memorystore para Valkey envía notificaciones a la dirección de correo electrónico asociada con tu Cuenta de Google. No puedes configurar un alias de correo electrónico personalizado (por ejemplo, un alias de correo electrónico del equipo). Además, no admitimos el envío de notificaciones a una dirección de correo electrónico diferente.

Si te suscribes a las notificaciones de mantenimiento, recibirás alertas sobre todas las instancias de Memorystore para Valkey que tengan mantenimiento programado en un proyecto Google Cloud . Recibirás una notificación independiente para cada instancia.

Para obtener más información sobre cómo encontrar un mantenimiento programado, consulta Cómo encontrar un mantenimiento programado.

Reprogramar mantenimiento

En esta sección, se proporcionan lineamientos para reprogramar el mantenimiento. Por ejemplo, si se programa el lanzamiento de un servicio nuevo durante tu período de mantenimiento actual, es posible que desees posponer el período de mantenimiento 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, elige una de las siguientes opciones:

  • Actualizar ahora: En lugar de esperar el período de mantenimiento programado, puedes aplicar las actualizaciones a tu instancia de inmediato.
  • Día y hora personalizados: Elige cualquier hora dentro de las dos semanas posteriores a la hora de mantenimiento programada originalmente.

Cuando reprogramas el mantenimiento, se aplican las siguientes restricciones:

  • Si queda menos de una hora antes del horario de mantenimiento programado actual, no podrás reprogramar el mantenimiento.
  • Después de reprogramar el mantenimiento correctamente, Memorystore para Valkey te enviará una notificación por correo electrónico para confirmar la cancelación del mantenimiento anterior. Además, recibirás una notificación de mantenimiento nueva con la programación actualizada.

Para obtener más información sobre cómo reprogramar el mantenimiento, consulta Reprograma el mantenimiento.

Preguntas frecuentes

En esta sección, se incluyen preguntas frecuentes sobre el mantenimiento de Memorystore para Valkey.

¿Cómo sabes cuándo se programa el mantenimiento de tu instancia?

Para saber cuándo está programado el mantenimiento para tu instancia, te recomendamos que te suscribas a las notificaciones y configures un período de mantenimiento. También puedes verificar tu instancia de forma manual para ver si el parámetro maintenanceSchedule aparece en la respuesta.

¿Cuándo te notifica Memorystore para Valkey sobre el próximo mantenimiento?

Si te suscribes a las notificaciones de mantenimiento y configuras un período de mantenimiento, Memorystore para Valkey te notificará por correo electrónico al menos una semana antes de un evento de mantenimiento.

¿Por cuánto tiempo puedes diferir el mantenimiento?

Después de programar el mantenimiento de tu instancia, puedes iniciar la actualización de inmediato o aplazarla hasta dos semanas desde la fecha y hora de mantenimiento programadas originalmente.

Por ejemplo, si programas el mantenimiento para el 11 de octubre a las 11:15 p.m., puedes diferirlo hasta el 25 de octubre a las 11:15 p.m. Si no tomas ninguna medida, el mantenimiento se ejecutará en la fecha y hora programadas.

Para obtener más información, consulta Reprograma el mantenimiento.

¿Qué prácticas recomendadas permiten tener una experiencia de actualización de mantenimiento sin problemas?

Para garantizar una experiencia de actualización de mantenimiento sin problemas, te recomendamos que hagas lo siguiente:

  1. Sigue las instrucciones para configurar tu aplicación cliente.
  2. Configura tu período de mantenimiento para un día y una hora en que tu instancia experimente un tráfico mínimo (por ejemplo, los domingos a la medianoche).
  3. Habilita las notificaciones de mantenimiento. Como resultado, Memorystore para Valkey te notifica por correo electrónico al menos siete días antes de que se programe una actualización de mantenimiento para tu instancia.
  4. Si no tienes una hora de impacto bajo o nulo para el uso de tu aplicación, usa el valor predeterminado del servicio de las versiones graduales. Este valor predeterminado contiene prácticas recomendadas para las actualizaciones de mantenimiento. Para obtener más información, consulta la sección sobre el mantenimiento programado.

¿Cuándo puedes aplicar el mantenimiento de inmediato?

Puedes aplicar una actualización de mantenimiento de inmediato en una instancia de prueba para ver cómo afecta la actualización a tu aplicación. Puedes observar el impacto que tiene esta actualización. Si hay problemas con la actualización, puedes aplazar el mantenimiento de tus instancias de producción hasta que resuelvas los problemas.

Si el día y la hora actuales son adecuados para tu instancia y esperas una carga alta en el futuro, puedes ejecutar la actualización de mantenimiento de inmediato.

¿Siempre se completan las actualizaciones de mantenimiento dentro del período de mantenimiento?

Memorystore para Valkey inicia una actualización de mantenimiento dentro del período de mantenimiento que especifiques. Por lo general, Memorystore for Valkey completa la actualización dentro del período, pero esto no siempre sucede.

¿Puedo inhabilitar el mantenimiento o programar el mantenimiento en ciertas instancias primero?

No puedes inhabilitar el mantenimiento ni controlar el orden del mantenimiento de tus instancias. Sin embargo, después de recibir la notificación de mantenimiento inicial, puedes reprogramar el mantenimiento para diferirlo hasta por dos semanas.

¿Qué sigue?

  • Consulta los permisos necesarios para administrar los períodos de mantenimiento de tu instancia.