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 para Valkey actualiza las instancias de forma periódica para garantizar que el servicio sea confiable, tenga un buen rendimiento, sea seguro y esté actualizado. Estas actualizaciones se denominan mantenimiento. El servicio administra el mantenimiento por completo y está diseñado para no tener ningún impacto en el tiempo de inactividad.
Por lo general, el mantenimiento se incluye en las siguientes categorías:
- Funciones de Memorystore. Para iniciar 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 la base 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 OSS Valkey.
Configura tu aplicación cliente
Para configurar tu aplicación cliente y obtener el mejor rendimiento y disponibilidad durante el mantenimiento, sigue estos pasos:
- Usa y configura tu cliente externo según las instrucciones que se indican en las prácticas recomendadas para clientes de Valkey para asegurarte de que cualquier mantenimiento programado no afecte a la aplicación cliente. Nuestras configuraciones de cliente recomendadas pueden evitar los restablecimientos de conexión a través de actualizaciones periódicas de topología intercalada y rotaciones de conexión en segundo plano.
- Prueba tu aplicación cliente con una serie de operaciones de actualización (como el aumento o la disminución de la escala o los cambios en el recuento de réplicas) mientras ejecutas una carga de trabajo representativa en nodos principales y de réplicas, y supervisa el impacto en el cliente. Estas actualizaciones prueban la lógica de actualización de 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 crear antes de destruir para evitar cualquier impacto del 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 con los siguientes mecanismos de Memorystore:
- Una conmutación por error coordinada sin pérdida de datos
- Una eliminación de nodos elegante para permitir que los clientes se pongan al día con las actualizaciones de la topología del nodo 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 instancias.
El comportamiento del servicio que se describe en las siguientes secciones solo se aplica 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 la 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 continuar) se integran en la flota de instancias de Memorystore a escala del servicio. Además, los tiempos de compilación se integran en las instancias de las zonas de una región (varios dominios de fallas) para reducir el alcance del impacto, si lo hay.
En el caso de tu instancia configurada para la alta disponibilidad, Memorystore for Valkey actualiza, como máximo, un dominio de error o una zona en cualquier momento para asegurarse de que un fragmento de instancia, incluidas las réplicas principales y las secundarias, tenga alta disponibilidad durante la actualización. Además, Memorystore para Valkey solo actualiza algunos nodos a la vez. 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 los mayores beneficios cuando se actualiza una instancia con muchos fragmentos. Aplicar solo las actualizaciones 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 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 retenga la capacidad aprovisionada si se produce una falla de inicio inesperada.
- 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.
- Memorystore quita la réplica que usa el software anterior.
- Para cada nodo de la instancia, Memorystore repite este proceso.
La estrategia de crear antes de destruir ayuda a retener la capacidad aprovisionada de la instancia, en comparación con una implementación continua típica que se actualiza de forma in situ, pero genera una interrupción de 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 mediante el mecanismo de Valkey de OSS de sincronización completa para copiar los datos del nodo principal al de réplica. Para ello, se crea un proceso secundario y se aprovecha la replicación sin disco para iniciar la réplica.
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 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 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 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, ahora un nodo de réplica, desbloquea las solicitudes existentes y las redirecciona al nuevo nodo principal mediante el protocolo de instancias de Valkey de OSS. Las solicitudes nuevas que se envíen al nodo de réplica anterior se seguirán redireccionando al nuevo nodo principal.
- 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 borrarse 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 entre los nodos principales, lo que afecta la toma de decisiones para elegir el 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. Una eliminación abrupta de nodos tendría un impacto en las aplicaciones cliente, ya que los clientes 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 elegante y permita que las aplicaciones cliente actualicen su topología antes de experimentar un cierre de nodo duro. 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 período de drenaje determinado, por lo general, de unos 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 conectarse a un nodo quitado después del período de drenaje, el intento fallará. Esto activa una actualización de la topología de nodos en el cliente que se conecta para que conozca el cambio de réplica. Las nuevas actualizaciones 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.
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 el 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 configures para los períodos de mantenimiento.
Períodos de mantenimiento predeterminados
Si no configuras un período de mantenimiento, Memorystore for 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 fin 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 un minorista, supervisas un entorno de producción que incluye una instancia de Memorystore para Valkey. Para garantizar un rendimiento óptimo durante el mantenimiento, programa el mantenimiento cuando la instancia tenga 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 en 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 al tanto de los eventos de mantenimiento de tu instancia, configura notificaciones por correo electrónico sobre los próximos mantenimientos al menos una semana antes de que se programen. 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á que se canceló. 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 para 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 de tu instancia. De lo contrario, Memorystore para Valkey no tiene 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 para todas las instancias de Memorystore para Valkey que tengan un mantenimiento programado en un proyecto de Google Cloud. Para cada instancia, recibirás una notificación independiente.
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 programó 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 en un principio. 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 un plazo de dos semanas desde el horario de mantenimiento programado originalmente.
Cuando reprogramas el mantenimiento, se aplican las siguientes restricciones:
- Si queda menos de una hora antes del horario de mantenimiento programado actual, no puedes reprogramarlo.
- Después de reprogramar el mantenimiento de forma correcta, Memorystore for Valkey te envía una notificación por correo electrónico 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 Reprograma el mantenimiento.
Preguntas frecuentes
En esta sección, se incluyen preguntas frecuentes sobre el mantenimiento de Memorystore para Valkey.
¿Cómo puedes saber 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 comprobar 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 por dos semanas desde la fecha y hora de mantenimiento programadas en un principio.
Por ejemplo, si programas el mantenimiento para el 11 de octubre a las 11:15 p.m., puedes diferir el mantenimiento 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 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:
- Sigue las instrucciones para configurar tu aplicación cliente.
- Establece el período de mantenimiento en un día y una hora en los que tu instancia tenga un tráfico mínimo (por ejemplo, los domingos a la medianoche).
- 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.
- 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. Esta configuración predeterminada contiene practicas 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 los resuelvas.
Si el día y la hora actuales funcionan para tu instancia y esperas una carga alta en la instancia 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 para Valkey completa la actualización dentro del período, pero esto no siempre sucede.
¿Puedes 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 durante hasta dos semanas.
¿Qué sigue?
- Consulta los permisos necesarios para administrar los períodos de mantenimiento de tu instancia.