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 tener en cuenta para aprovechar el diseño de mantenimiento sin tiempo de inactividad de Memorystore para Valkey. Estas recomendaciones se aplican a las instancias de alta disponibilidad y 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 for 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 por completo el mantenimiento, que está diseñado para no tener un impacto de tiempo de inactividad.
Por lo general, el mantenimiento se divide 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 código abierto.
Memorystore for Valkey no actualiza automáticamente las instancias para cada versión de mantenimiento. Para determinar el mejor momento para programar el mantenimiento integral, Google Cloud evalúa periódicamente las actualizaciones disponibles. Si necesitas una versión de mantenimiento específica antes, puedes usar el mantenimiento de autoservicio después de que haya una actualización disponible. Para obtener más información sobre las versiones de mantenimiento, incluidos los números y los detalles de las versiones de mantenimiento, consulta los registros de cambios de mantenimiento de Memorystore para Valkey.
Configura tu aplicación cliente
Para configurar tu aplicación cliente de modo que tenga el mejor rendimiento y disponibilidad durante el mantenimiento, sigue estos pasos:
- Usa y configura tu cliente de terceros según la guía en Prácticas recomendadas para clientes de Valkey para asegurarte de que el mantenimiento programado no afecte a la aplicación cliente. Nuestros parámetros de configuración recomendados para el cliente pueden evitar los restablecimientos de conexiones a través de actualizaciones periódicas de la topología intercalada y rotaciones de conexiones en segundo plano.
- Prueba tu aplicación cliente con una serie de operaciones de actualización (como el escalamiento horizontal o vertical, o los cambios en el recuento de réplicas) mientras ejecutas una carga de trabajo representativa en los nodos principal y de réplica, y supervisas 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 de terceros esté configurado correctamente para evitar cualquier impacto negativo en tu aplicación.
Instancias con el modo de clúster inhabilitado
Durante el mantenimiento, las instancias con el modo de clúster inhabilitado se someten a una conmutación por error, lo que restablece sus conexiones. Esta conmutación por error suele durar 15 segundos. Para volver a conectar tus aplicaciones cliente a la instancia después de la conmutación por error, te recomendamos que crees un mecanismo de reintento con retirada exponencial. Después de recibir un correo electrónico en el que se te notifica sobre el próximo mantenimiento, puedes ejecutar un mantenimiento simulado en una instancia que no sea de producción para probar el impacto que tiene el mantenimiento en la instancia. Para obtener más información, consulta Ejecuta una simulación de mantenimiento en una instancia.
También te recomendamos que mantengas la métrica /instance/memory/maximum_utilization
en un 50% o menos cuando comience el mantenimiento programado. La orientación para esta métrica se refiere a un umbral del 80% para la administración de la memoria. Sin embargo, te recomendamos
que apuntes a una proporción del 50% o menos durante el mantenimiento. Para obtener más información
sobre la métrica, consulta Métricas de Cloud Monitoring.
Puedes garantizar esta proporción de una de las siguientes maneras:
- Programa el mantenimiento cuando el tráfico de la instancia sea bajo.
- Aumenta el tamaño de la instancia de forma temporal durante el período de mantenimiento.
Mantenimiento programado
Memorystore para Valkey aprovecha una estrategia de ciclo de vida de implementación gradual y de crear antes de destruir para evitar cualquier impacto de 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 instancia de Valkey de OSS con los siguientes mecanismos de Memorystore:
- Es una conmutación por error coordinada sin pérdida de datos.
- Una eliminación correcta de nodos para permitir que los clientes se pongan al día con las actualizaciones de la topología de nodos sin ningún impacto en la disponibilidad.
- 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 instancia.
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 una velocidad que permite detectar fallas con la suficiente antelación para mitigar cualquier impacto y establecer la confianza en la estabilidad. Los tiempos de preparación (el tiempo durante el cual se aplica y supervisa la actualización antes de considerarla un éxito y avanzar) se integran en toda la flota de instancias de Memorystore a escala del servicio. Además, los tiempos de preparación se integran en las instancias de las zonas de una región (varios dominios con fallas) para reducir el alcance del impacto, si lo hubiera.
En el caso de tu instancia configurada para la alta disponibilidad, como máximo, Memorystore for Valkey actualiza un dominio de fallas 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 para Valkey actualiza solo unos pocos nodos en cualquier momento. Las actualizaciones usan un mecanismo de ciclo de vida de creación antes de la destrucción 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 de usuario general 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 de Valkey principal o de réplica existente en un fragmento:
- Memorystore para 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 de arranque inesperada.
- Si un nodo dentro de la fragmentación que se actualizará es un nodo principal, primero se convierte en una réplica antes de quitarlo con una conmutación por error coordinada.
- Memorystore quita la réplica que usa el software anterior.
- Memorystore repite este proceso para cada nodo de la instancia.
La estrategia de creación antes de la destrucción ayuda a conservar la capacidad aprovisionada de la instancia, en comparación con una implementación progresiva típica que se actualiza in situ, pero genera una interrupción de la disponibilidad (y, a veces, pérdida de datos) para la aplicación cliente. En el caso de los fragmentos 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 del fragmento.
Paso 1: Agrega una réplica
El primer paso del mecanismo de creación antes de la destrucción es agregar un nodo de réplica con el software más reciente usando el mecanismo de Valkey de OSS de sincronización completa 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, aprovisiona 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 en 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 agregado. Luego, Memorystore quita 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 entrantes de los clientes se bloquean temporalmente en el nodo principal, lo que proporciona un período para garantizar 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 redirecciona al nodo principal nuevo con el protocolo de instancia de Valkey de OSS. Las solicitudes nuevas que se envíen al nodo de réplica anterior se seguirán redireccionando al nodo principal nuevo.
- Tu cliente compatible con Valkey actualiza su topología en memoria. Aprende la dirección del nuevo extremo principal y ya no requiere redireccionamientos.
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 la conmutación por error. El tamaño de la instancia puede afectar la convergencia entre 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 antes de la destrucción es quitar el nodo de réplica en el software anterior. La eliminación de nodos afecta a las aplicaciones cliente, ya que Memorystore para Valkey desconecta a tus clientes. Debido a que la actualización de la topología no se aplica a las instancias con el modo de clúster inhabilitado, te recomendamos que uses un mecanismo de reintento con retirada exponencial para volver a conectar tu aplicación a los nuevos extremos de réplica después de que estén disponibles.
En el caso de las instancias con el modo de clúster habilitado, Memorystore for Valkey diseñó la eliminación de una réplica de Valkey para que sea correcta y permitir que las aplicaciones cliente actualicen su topología antes de experimentar un cierre forzoso del nodo. La topología se personaliza para permitir que los clientes conozcan la réplica nueva, pero también que olviden la que se quitará con anticipación.
Memorystore para Valkey mantiene el nodo de réplica que ejecuta el software anterior durante un período de desvío determinado, que suele ser de minutos, durante el cual comienza a redireccionar las solicitudes de lectura entrantes al nodo principal de su fragmento. Este proceso permite que el cliente de terceros actualice la topología del nodo y obtenga información sobre los nuevos extremos de réplica. Si el cliente intenta comunicarse con un nodo quitado después del período de desvío, el intento falla. Esta falla activa una actualización de la topología del nodo en el cliente que se conecta para que se entere del 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 for 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.
Estableces períodos de mantenimiento para cada instancia de Memorystore para Valkey y tienes las siguientes opciones de configuración:
- Día de la semana: Es el día en que se realiza el mantenimiento.
- Hora de inicio: Es la 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 actualiza la 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 fines de semana: Del viernes a las 10:00 p.m. al lunes a las 6:00 a.m.
Ejemplo de mantenimiento
Como desarrollador que administra un servicio de carrito de compras en una tienda minorista, supervisas un entorno de producción que incluye una instancia de Memorystore para Valkey. Para garantizar un rendimiento óptimo durante el mantenimiento, debes programarlo cuando la instancia tenga un tráfico mínimo. Por lo general, esto ocurre alrededor de la medianoche de los domingos.
En este caso, configura el período de mantenimiento de la 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. 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]".
Después de 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 vuelve a programar el mantenimiento, recibirás un
correo electrónico en el que se te notificará sobre 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:
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). Tampoco admitimos el envío de notificaciones a otra dirección de correo electrónico.
Si te suscribes a las notificaciones de mantenimiento, recibirás alertas para todas las instancias de Memorystore para Valkey que tengan un mantenimiento programado dentro de un proyecto de 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 Busca 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 el 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 los 14 días posteriores a la hora de mantenimiento programada en un principio.
Cuando reprogramas el mantenimiento, se aplican las siguientes restricciones:
- Si queda menos de una hora antes de la hora de mantenimiento programada actual, no puedes reprogramar el mantenimiento.
- Después de reprogramar el mantenimiento correctamente, Memorystore para Valkey te envía 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 el programa actualizado.
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 se programa el mantenimiento de 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.
¿Cuánto tiempo puedes aplazar el mantenimiento?
Después de programar el mantenimiento de tu instancia, puedes iniciar la actualización de inmediato o aplazarla hasta dos semanas a partir de 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 aplazarlo hasta el 25 de octubre a las 11:15 p.m. Si no realizas ninguna acción, el mantenimiento se ejecutará en la fecha y hora programadas.
Para obtener más información, consulta Reprograma el mantenimiento.
¿Qué prácticas recomendadas dan como resultado 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:
- Sigue las instrucciones para configurar tu aplicación cliente.
- Configura el período de mantenimiento en un día y una hora en los que la instancia experimente un tráfico mínimo (por ejemplo, los domingos a la medianoche).
- Activa 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.
- Si no tienes una hora de bajo impacto o sin impacto para el uso de tu aplicación, usa el valor predeterminado del servicio de los lanzamientos 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 te recomendamos que apliques una actualización de mantenimiento de inmediato?
Puedes aplicar una actualización de mantenimiento de inmediato en una instancia de prueba para ver cómo afecta a tu aplicación. Puedes observar el impacto que tiene esta actualización. Si hay problemas con la actualización, puedes aplazar el mantenimiento en tus instancias de producción hasta que los resuelvas.
Si el día y la hora actuales funcionan para tu instancia y esperas una carga alta en tu instancia en el futuro, puedes ejecutar la actualización de mantenimiento de inmediato.
¿Las actualizaciones de mantenimiento siempre se completan dentro del período de mantenimiento?
Memorystore para Valkey inicia una actualización de mantenimiento dentro del período de mantenimiento que especifiques. Memorystore para Valkey suele completar la actualización dentro del período, pero no siempre es así.
¿Puedes inhabilitar el mantenimiento o programarlo en ciertas instancias primero?
No puedes inhabilitar el mantenimiento ni controlar el orden de mantenimiento de tus instancias. Sin embargo, después de recibir la notificación de mantenimiento inicial, puedes reprogramar el mantenimiento para aplazarlo hasta dos semanas.
¿Qué sigue?
- Consulta los permisos que necesitas para administrar los períodos de mantenimiento de tu instancia.