Sobre a replicação entre regiões

Nesta página, você encontra uma visão geral da replicação entre regiões do Memorystore para Redis Cluster.

Para instruções sobre como gerenciar a replicação entre regiões, consulte Trabalhar com a replicação entre regiões.

A replicação entre regiões permite criar clusters secundários de um cluster principal para disponibilizar o cluster para leituras em diferentes regiões. Os clusters secundários também oferecem redundância para cenários de recuperação de desastres em caso de interrupções regionais.

Os principais conceitos desta página incluem:

  • Cluster principal. Um cluster de leitura/gravação em uma única região.
  • Cluster secundário. Um cluster somente leitura que replica do cluster principal de forma assíncrona. Para informações sobre como promover e separar clusters secundários, consulte as tarefas detach e switchover que aparecem em Como gerenciar a replicação entre regiões.
  • Nó replicador: um nó no fragmento do cluster principal que replica para um nó seguidor no cluster secundário. Qualquer nó principal ou de réplica no shard pode servir como replicador.
  • Nós seguidores: nós no cluster secundário que replicam de um nó replicador no cluster principal. Somente os nós principais no cluster secundário podem ter a função de seguidor.
  • Contagem de fragmentos e atribuição de slots: os clusters principal e secundário têm o mesmo número de fragmentos e atribuições de slots.

Vantagens

Confira os benefícios da replicação entre regiões no Memorystore for Redis Cluster:

  • Recuperação de desastres: se a região do cluster principal ficar indisponível, será possível desconectar ou alternar para um cluster secundário em outra região para atender às solicitações de leitura e gravação. Os clusters secundários atendem solicitações de leitura sem emitir um comando de failover ou de separação.
  • Dados distribuídos geograficamente: a distribuição geográfica aproxima os dados de você e diminui a latência de leitura.
  • Balanceamento de carga geográfico para tráfego de leitura: se conexões lentas ou sobrecarregadas ocorrerem em uma região, é possível rotear o tráfego para outra região.

Funcionamento do recurso

Esta seção explica o comportamento importante do recurso de replicação entre regiões.

  • Escalonar a capacidade do cluster: quando você escalona a capacidade do cluster principal, o Memorystore for Redis Cluster escalona automaticamente os clusters secundários para corresponder ao cluster principal.
  • Escalonar a contagem de réplicas: é possível escalonar a contagem de réplicas para clusters principais e secundários de forma independente com base nas necessidades da carga de trabalho. As atualizações na contagem de réplicas são apenas locais e não são propagadas para outros clusters na coleção de replicação entre regiões de clusters.
  • Fazer a troca durante uma possível interrupção: é possível fazer uma troca para promover um cluster secundário, mesmo que o cluster principal não esteja disponível devido a uma interrupção. Quando a interrupção é resolvida, o cluster principal indisponível se torna um cluster secundário.
  • Criar clusters secundários on-line: ao adicionar um cluster secundário a um cluster principal, o cluster principal permanece on-line. Enquanto o Memorystore for Redis Cluster cria o cluster secundário, o cluster principal processa solicitações e replica dados.
  • Criar clusters secundários: é possível ter até dois clusters secundários. Elas podem estar na mesma região ou em regiões diferentes. Não é possível transformar um cluster atual em um cluster secundário. Só é possível adicionar clusters novos como secundários.
  • Sincronizar configurações: o Memorystore for Redis Cluster sincroniza automaticamente a maioria das configurações do cluster entre os clusters principal e secundário. Para mais informações sobre essas configurações, consulte Configurações do cluster.
  • Preços: o Memorystore for Redis Cluster cobra dos clientes que usam a replicação entre regiões para qualquer cluster secundário provisionado para esse tipo de replicação. Para cada nó e réplica que o Memorystore for Redis Cluster implanta no cluster secundário, você recebe uma cobrança como em qualquer outro cluster principal. Além disso, você vai receber taxas de rede pela transferência de dados entre clusters em regiões diferentes.
  • Faça atualizações de manutenção: para garantir a compatibilidade com a replicação entre regiões, o cluster principal pode passar por uma atualização de manutenção durante a criação do cluster secundário. Se o cluster principal não estiver executando a versão de software necessária, essa atualização será feita. O processo de atualização pode introduzir alguma latência adicional ao criar o cluster secundário. Para mais informações, consulte Sobre a manutenção.

Como gerenciar a replicação entre regiões

A replicação entre regiões envolve as seguintes tarefas:

  • Crie um cluster secundário: crie um cluster secundário que replique dados do cluster principal continuamente.
  • Ver o cluster secundário: veja informações sobre o cluster secundário, incluindo o nome do cluster principal e o outro cluster secundário no grupo de replicação.
  • Remover clusters secundários: a remoção de clusters secundários é uma operação em que você os desconecta do cluster principal. Isso os torna clusters independentes e totalmente funcionais que permitem leituras e gravações. Depois de uma operação de remoção, os clusters secundários não replicam mais os dados do cluster principal a que estavam associados. O cluster principal original e os clusters recém-desconectados (antigos secundários) funcionam como clusters independentes sem relação entre si.

    Você remove clusters secundários pelos seguintes motivos:

    • Migração regional: execute uma migração planejada de recursos do Memorystore for Redis Cluster da região principal para outra região.
    • Recuperação de desastres: ative rapidamente os recursos do Memorystore para Redis Cluster em uma região secundária se os recursos na região principal ficarem indisponíveis. Se os clusters secundários não estiverem totalmente atualizados com o cluster principal, poderá ocorrer perda de dados.
  • Troque seus clusters: faça uma alternância para reverter as funções dos clusters principal e secundário. É possível fazer uma substituição pelos seguintes motivos:

    • Teste sua configuração de recuperação de desastres
    • Fazer a troca durante um cenário real de recuperação de desastres
    • Migrar sua carga de trabalho

    Depois de concluir a alternância, o Memorystore para Redis Cluster inverte a direção da replicação. O antigo cluster secundário agora pode aceitar leituras e gravações, enquanto o antigo cluster principal passa a ser somente leitura.

Exemplo de arquitetura para replicação entre regiões

Este diagrama mostra um cluster principal na região us-east1 e clusters secundários nas regiões us-west1 e asia-east1. A direção da replicação é sempre do cluster principal para os secundários (neste exemplo, da região us-east1 para as outras regiões).

Embora este diagrama mostre o mesmo número de réplicas em todas as regiões, a replicação entre regiões permite ter números variados de réplicas de acordo com seus requisitos.

imagem

Configurações de cluster

Esta seção explica as configurações necessárias, copiadas e substituídas para clusters primários e secundários que usam a replicação entre regiões. Ele também explica as configurações que você faz no cluster principal e as que são feitas localmente.

Parâmetros necessários para criar um cluster secundário

Para criar um cluster secundário, defina valores para os seguintes parâmetros:

  • Google Cloud project: o projeto em que o cluster principal está localizado e em que você cria o cluster secundário.
  • Região: a região em que você quer que o cluster secundário esteja localizado.
  • Configuração do Private Service Connect: a configuração de rede do cluster secundário.
  • Cluster principal: ao criar o cluster secundário, você precisa indicar um cluster principal. É possível usar qualquer cluster, exceto um secundário, como principal. Se você não tiver um cluster principal, crie um.

Configurações que um cluster secundário copia do cluster principal

Ao criar um cluster secundário, ele copia as seguintes configurações do cluster principal:

Substituir as configurações padrão

Ao criar um cluster secundário, você pode usar as seguintes configurações para substituir as configurações padrão:

Atualizar as configurações do cluster

Ao atualizar as configurações do cluster no Memorystore para Redis Cluster, você pode mudar algumas configurações apenas no cluster principal. O Memorystore for Redis Cluster sincroniza essas mudanças com os clusters secundários automaticamente.

É possível mudar outras configurações nos clusters principal e secundário de forma independente. O Memorystore for Redis Cluster aplica essas mudanças apenas localmente e não as sincroniza com os outros clusters.

Configurar as definições no cluster principal

Você precisa mudar as seguintes configurações no cluster principal. O Memorystore for Redis Cluster sincroniza essas mudanças com os clusters secundários automaticamente.

Configurar as configurações locais

Você configura as seguintes opções localmente:

Práticas recomendadas para alternar clusters principais e secundários

Ao fazer um failover, recomendamos que siga as instruções desta seção. Assim, seu aplicativo pode acompanhar as gravações e enviar qualquer gravação para o cluster apropriado.

  1. Interrompa a gravação do aplicativo no cluster principal.
  2. Se houver vários clusters secundários para promover, determine qual deles você quer promover para o cluster principal. Os fatores a seguir podem ajudar você a determinar qual cluster secundário promover:

    • A proximidade do aplicativo com o cluster. Isso pode afetar a latência de gravação.
    • O cluster secundário mais atualizado em termos de dados.
    • O cluster secundário mais próximo do principal, em termos de configurações.
  3. Faça uma troca no cluster secundário.

  4. Aguarde a conclusão da operação de failover.

  5. Atualize o aplicativo para enviar gravações ao cluster promovido que você selecionou na etapa 2.