Nesta página, explicamos como o Memorystore para Valkey realiza a manutenção em instâncias. Ele também fornece informações e recomendações de configuração que seus aplicativos clientes precisam conhecer para aproveitar o design de manutenção sem tempo de inatividade do Memorystore para Valkey. Essas recomendações se aplicam a instâncias de alta disponibilidade e sem réplicas. No entanto, para todos os casos de uso de produção, recomendamos que você use a configuração de alta disponibilidade.
O Memorystore para Valkey atualiza as instâncias regularmente para garantir que o serviço seja confiável, seguro, atualizado e tenha alto desempenho. Essas atualizações são chamadas de manutenção. A manutenção é totalmente gerenciada pelo serviço e foi projetada para não causar inatividade.
A manutenção geralmente se enquadra nas seguintes categorias:
- Recursos do Memorystore. Para lançar alguns recursos, o Memorystore exige uma atualização de manutenção.
- Patches do sistema operacional. Monitoramos continuamente as vulnerabilidades de segurança recém-identificadas no sistema operacional. Após a descoberta, aplicamos um patch ao sistema operacional para proteger você contra novos riscos.
- Patches de banco de dados. A manutenção pode incluir uma atualização do Valkey para melhorar a segurança, o desempenho e a confiabilidade de uma instância. Isso vai além do que o OSS Valkey oferece.
Configurar o aplicativo cliente
Para configurar o aplicativo cliente para ter o melhor desempenho e disponibilidade durante a manutenção, siga estas etapas:
- Use e configure o cliente de terceiros de acordo com as orientações em Práticas recomendadas do cliente Valkey para garantir que qualquer manutenção programada não afete o aplicativo cliente. Nossas configurações recomendadas de cliente podem evitar redefinições de conexão com atualizações periódicas de topologia inline e rotações de conexão em segundo plano.
- Teste o aplicativo cliente com uma série de operações de atualização (como escalar para dentro ou para fora ou mudanças no número de réplicas) enquanto executa uma carga de trabalho representativa nos nós principais e de réplica e monitora o impacto no cliente. Essas atualizações testam a lógica de atualização da topologia inline em clientes, o impacto da sincronização completa, a descoberta de novos nós e a capacidade de remoção de nós existentes. Os testes ajudam a garantir que o cliente de terceiros esteja configurado corretamente para evitar qualquer impacto negativo no seu aplicativo.
Manutenção programada
O Memorystore para Valkey usa uma implantação gradual e uma estratégia de ciclo de vida criar antes de destruir para evitar qualquer impacto de inatividade da manutenção programada do Memorystore nas instâncias do Valkey. O Memorystore para Valkey alcança a manutenção sem tempo de inatividade usando os recursos de redirecionamento de solicitações do protocolo de instância do OSS Valkey com os seguintes mecanismos do Memorystore:
- Um failover coordenado sem perda de dados.
- Uma remoção suave de nós para permitir que os clientes acompanhem as atualizações da topologia de nós sem nenhum impacto na disponibilidade.
- Os endpoints do Private Service Connect da instância, que não são afetados pela manutenção. Para mais informações sobre esses endpoints, consulte Endpoints de instância.
O comportamento do serviço descrito nas seções a seguir se aplica apenas à manutenção programada. Para mais informações sobre o impacto de eventos não planejados, como falhas de hardware, consulte Comportamento do cliente durante um failover não planejado.
Janelas de manutenção padrão
Por padrão, o Memorystore atualiza a instância nas seguintes janelas de acordo com o fuso horário da instância:
- Período da semana (de segunda a sexta-feira): das 22h às 6h
- Janela de fim de semana: sexta-feira, das 22h à segunda-feira, às 6h
Estratégia de implantação gradual
O Memorystore para Valkey realiza implantações com um escopo progressivamente maior e em uma taxa que permite a detecção de falhas com antecedência suficiente para reduzir qualquer impacto e estabelecer a confiança na estabilidade. Os tempos de cozimento (o tempo durante o qual a atualização é aplicada e monitorada antes de ser considerada um sucesso e seguir em frente) são integrados à frota de instâncias do Memorystore na escala do serviço. Além disso, os tempos de cozimento são integrados às instâncias em várias zonas de uma região (vários domínios de falha) para reduzir o escopo do impacto, se houver.
Para a instância configurada para alta disponibilidade, o Memorystore for Valkey atualiza no máximo um domínio de falha ou uma zona a qualquer momento para garantir que um fragmento de instância, incluindo as primárias e as réplicas, tenha alta disponibilidade durante a atualização. Além disso, o Memorystore para Valkey atualiza apenas alguns nós por vez. As atualizações usam um mecanismo de ciclo de vida de criação antes da destruição para maximizar a estabilidade de uma instância. Essa estratégia oferece mais benefícios ao atualizar uma instância com muitos fragmentos. Aplicar as atualizações apenas a uma pequena parte do keyspace geral do usuário a qualquer momento maximiza a disponibilidade de dados.
Estratégia de ciclo de vida "criar antes de destruir"
Uma instância do Valkey tem vários fragmentos. Cada fragmento tem um nó principal e zero ou mais nós de réplica. O Memorystore usa o seguinte processo para atualizar qualquer nó principal ou de réplica Valkey em um fragmento:
- O Memorystore para Valkey adiciona uma nova réplica com a atualização mais recente do software ao fragmento. O Memorystore cria um novo nó em vez de atualizar um existente para garantir que a capacidade provisionada seja retida caso ocorra uma falha inesperada de inicialização.
- Se um nó dentro do fragmento a ser atualizado for um nó principal, ele será convertido em uma réplica antes de ser removido usando um failover coordenado.
- O Memorystore remove a réplica que usa o software anterior.
- Para cada nó na instância, o Memorystore repete esse processo.
A estratégia de criar antes de destruir ajuda a manter a capacidade provisionada da instância em comparação com uma implantação contínua típica, que atualiza no local, mas resulta em uma interrupção de disponibilidade (e às vezes perda de dados) para o aplicativo cliente. Para fragmentos sem réplicas, o Memorystore para Valkey ainda provisiona uma nova réplica, coordena o failover e, por fim, substitui o nó principal do fragmento.
Etapa 1: adicionar uma réplica
A primeira etapa do mecanismo de criação antes da destruição é adicionar um nó de réplica com o software mais recente usando o mecanismo de chave Valkey do OSS de sincronização completa para copiar os dados do nó principal para o de réplica. Isso é feito bifurcando um processo filho e aproveitando a replicação sem disco para inicializar a réplica.
Para aproveitar melhor a arquitetura de escalonamento horizontal da instância, provisione um número maior de fragmentos para reduzir o tamanho do keyspace em um nó. Ter um conjunto de dados menor por nó ajuda a reduzir o impacto da latência de bifurcação de uma operação de sincronização completa. Ele também acelera a cópia de dados entre os nós.
Etapa 2: executar um failover primário coordenado
Se o nó Valkey que precisa ser atualizado for um nó principal, o Memorystore vai executar um failover coordenado para o nó de réplica adicionado. Em seguida, o Memorystore remove o nó. Durante a failover coordenada, o cliente e os nós Valkey trabalham juntos e usam as seguintes estratégias para evitar o tempo de inatividade do aplicativo:
- As solicitações de cliente recebidas são bloqueadas temporariamente no nó principal, oferecendo uma janela para garantir que a réplica existente seja sincronizada 100% com o nó principal.
- A réplica conclui o processo de eleição para assumir o papel principal.
- O nó principal anterior, agora um nó de réplica, desbloqueia as solicitações atuais e as redireciona para o novo nó principal usando o protocolo de instância do OSS Valkey. Todas as novas solicitações enviadas para o nó de réplica anterior continuam sendo redirecionadas para o novo nó principal.
- O cliente compatível com Valkey atualiza a topologia na memória. Ele aprende o endereço do novo endpoint principal e não precisa mais de redirecionamentos.
Os failovers coordenados geralmente levam dezenas de milissegundos. No entanto, os dados em trânsito pendentes de transmissão para as réplicas e o tamanho total da instância podem aumentar a latência de failover. O tamanho da instância pode afetar a convergência entre os nós principais, o que afeta a tomada de decisão na eleição do novo nó principal.
Etapa 3: remover a réplica
A última etapa do mecanismo de criação antes da destruição é remover o nó de réplica no software anterior. A remoção abrupta de um nó afetaria os aplicativos clientes porque eles armazenam em cache as informações do endpoint e a topologia da instância. O Memorystore para Valkey foi projetado para remover uma réplica do Valkey de forma suave, permitindo que os aplicativos clientes atualizem a topologia antes de ocorrer um desligamento forçado do nó. A topologia é personalizada para permitir que os clientes conheçam a nova réplica, mas também se esqueçam da que será removida com antecedência.
O nó de réplica que executa o software anterior é mantido por um determinado período de esgotamento, normalmente de alguns minutos, durante o qual ele começa a redirecionar as solicitações de leitura recebidas para o nó principal do shard. Ele permite que o cliente de terceiros atualize a topologia do nó e aprenda sobre os novos endpoints de réplica. Se o cliente tentar acessar um nó removido após o período de esgotamento, a tentativa falhará. Isso aciona uma atualização da topologia de nó no cliente de conexão para que ele saiba sobre a mudança de réplica. As novas atualizações da topologia de nó não mostram o nó de réplica a ser removido.
Configurações de manutenção
O Memorystore para Valkey permite personalizar os horários de manutenção para se alinhar às necessidades do aplicativo e minimizar interrupções. Para personalizar uma programação de manutenção, configure uma janela de manutenção para sua instância.
Você define janelas de manutenção para cada instância do Memorystore para Valkey e tem as seguintes opções de configuração:
- Dia da semana: o dia em que a manutenção ocorre.
- Horário de início: a hora em que a manutenção começa.
A janela de manutenção dura uma hora. Em alguns casos, a manutenção pode se estender além da janela selecionada.
Depois de configurar uma janela de manutenção para uma instância, o Memorystore para Valkey programa a manutenção automática no futuro de acordo com as preferências definidas para as janelas de manutenção.
Janelas de manutenção padrão
Se você não definir uma janela de manutenção, o Memorystore for Valkey vai atualizar sua instância em uma das janelas a seguir, de acordo com o fuso horário da instância:
- Período da semana (de segunda a sexta-feira): das 22h às 6h
- Janela de fim de semana: sexta-feira, das 22h às 6h da segunda-feira
Exemplo de manutenção
Como desenvolvedor que gerencia um serviço de carrinho de compras em um varejista, você supervisiona um ambiente de produção que inclui uma instância do Memorystore para Valkey. Para garantir o melhor desempenho durante a manutenção, programe-a quando a instância tiver tráfego mínimo. Isso geralmente ocorre por volta da meia-noite aos domingos.
Nesse caso, defina a janela de manutenção da instância de produção para o dia e a hora seguintes:
- Dia da semana: domingo
- Hora de início: 1h
Notificações de manutenções futuras
Para se manter informado sobre os eventos de manutenção na sua instância, configure
notificações por e-mail sobre a manutenção futura pelo menos uma semana antes da
programação. Essas notificações têm a linha de assunto "Upcoming
maintenance for your Cloud Memorystore instance [your-instance-name]"
.
O Memorystore para Valkey também envia uma notificação quando a manutenção começa
para sua instância. O assunto do e-mail é "Maintenance
is undergoing for your Cloud Memorystore instance [your-instance-name]"
.
Depois que o Memorystore para Valkey concluir a manutenção, ele vai enviar uma notificação
de conclusão. O assunto do e-mail é "Completed Maintenance
for your Cloud Memorystore instance [your-instance-name]"
.
Se o Memorystore for Valkey remarcar a manutenção, você vai receber um e-mail informando sobre o cancelamento. O assunto do e-mail é "Canceled maintenance for your Cloud Memorystore instance [your-instance-name]"
.
Para receber notificações de manutenção, você precisa ativá-las. Para se inscrever nas notificações de manutenção, faça o seguinte:
Para receber notificações de manutenção do Memorystore para Valkey, conclua estas etapas pelo menos uma semana antes da atualização de manutenção programada para sua instância. Caso contrário, o Memorystore para Valkey não terá tempo suficiente para notificar você sobre a próxima manutenção.
O Memorystore para Valkey envia notificações para o endereço de e-mail associado à sua Conta do Google. Não é possível configurar um alias de e-mail personalizado (por exemplo, um alias de e-mail de equipe). Além disso, não é possível enviar notificações para um endereço de e-mail diferente.
Ao assinar as notificações de manutenção, você recebe alertas para todas as instâncias do Memorystore para Valkey que têm manutenção programada em um projeto do Google Cloud. Você recebe uma notificação separada para cada instância.
Para mais informações sobre como encontrar uma manutenção programada, consulte Encontrar uma manutenção programada.
Remarcar manutenção
Esta seção fornece diretrizes sobre como reagendar a manutenção. Por exemplo, se um novo serviço estiver programado para ser lançado durante a janela de manutenção atual, é recomendável adiar a janela de manutenção para alguns dias após o lançamento.
É possível reprogramar a manutenção em até 14 dias após o horário programado originalmente. Como parte da reprogramação da manutenção, escolha uma das seguintes opções:
- Atualizar agora: em vez de esperar a janela de manutenção programada, é possível aplicar as atualizações à sua instância imediatamente.
- Dia e hora personalizados: escolha qualquer horário dentro de duas semanas do horário de manutenção programado originalmente.
Quando você reagendar a manutenção, as seguintes restrições serão aplicadas:
- Se restarem menos de uma hora até o horário de manutenção programado, não será possível reprogramar a manutenção.
- Depois que você reagendar a manutenção, o Memorystore for Valkey envia uma notificação por e-mail confirmando o cancelamento da manutenção anterior. Além disso, você recebe uma nova notificação de manutenção com a programação atualizada.
Para mais informações sobre como reprogramar a manutenção, consulte Reprogramar a manutenção.
Perguntas frequentes
Esta seção contém perguntas frequentes sobre a manutenção do Memorystore para Valkey.
Como saber quando a manutenção está programada para sua instância?
Para saber quando a manutenção está programada para sua instância, recomendamos que você
se inscreva nas notificações e configure uma janela de manutenção. Também é possível
verificar a instância manualmente para saber se o parâmetro maintenanceSchedule
aparece na resposta.
Quando o Memorystore para Valkey vai notificar você sobre as próximas manutenções?
Se você se inscrever para receber notificações de manutenção e definir uma janela de manutenção, o Memorystore para Valkey vai enviar um e-mail pelo menos uma semana antes de um evento de manutenção.
Por quanto tempo você pode adiar a manutenção?
Depois de programar a manutenção para a instância, é possível iniciar a atualização imediatamente ou adiar a atualização por até duas semanas a partir da data e da hora de manutenção programadas originalmente.
Por exemplo, se você programar a manutenção para 11 de outubro às 23h15, será possível adiar até 25 de outubro às 23h15. Se você não fizer nada, a manutenção será executada na data e hora programadas.
Para mais informações, consulte Reprogramar a manutenção.
Quais práticas recomendadas resultam em uma experiência de atualização de manutenção tranquila?
Para garantir uma experiência de atualização de manutenção tranquila, recomendamos que você faça o seguinte:
- Siga as instruções para configurar o aplicativo cliente.
- Defina a janela de manutenção para um dia e horário em que a instância tenha tráfego mínimo (por exemplo, domingos à meia-noite).
- Ative as notificações de manutenção. Como resultado, o Memorystore para Valkey notifica você por e-mail pelo menos sete dias antes de uma atualização de manutenção ser programada para sua instância.
- Se você não tiver um horário de impacto baixo ou nenhum impacto para o uso do aplicativo, use o padrão do serviço de lançamentos graduais. Essa configuração padrão contém práticas recomendadas para atualizações de manutenção. Para mais informações, consulte Manutenção programada.
Quando é possível aplicar a manutenção imediatamente?
É possível aplicar uma atualização de manutenção imediatamente em uma instância de teste para saber como a atualização afeta seu aplicativo. Você pode observar o impacto dessa atualização. Se houver problemas com a atualização, você poderá adiar a manutenção nas instâncias de produção até que eles sejam resolvidos.
Se o dia e a hora atuais funcionarem para sua instância e você esperar uma carga alta no futuro, execute a atualização de manutenção imediatamente.
As atualizações de manutenção sempre são concluídas dentro da janela de manutenção?
O Memorystore para Valkey inicia uma atualização de manutenção dentro da janela de manutenção especificada. O Memorystore para Valkey geralmente conclui a atualização dentro da janela, mas isso nem sempre acontece.
Posso desativar a manutenção ou programar a manutenção em determinadas instâncias primeiro?
Não é possível desativar a manutenção nem controlar a ordem dela para suas instâncias. No entanto, depois de receber a notificação inicial de manutenção, você pode reprogramar a manutenção para adiar por até duas semanas.
A seguir
- Confira as permissões necessárias para gerenciar janelas de manutenção da sua instância.