Arquiteturas resilientes · tema 10 de 18
Bancos resilientes: Multi-AZ, réplicas de leitura e tabelas globais
40 min · 2 vídeos · 14 cards · 1 drill
Por que cai
Multi-AZ e réplica de leitura resolvem problemas diferentes e a prova oferece um como distrator do outro em quase todo cenário de banco. Quem sabe que a espera do Multi-AZ não aceita leitura, e que a réplica pode estar atrasada, elimina metade das alternativas antes de pensar no resto.
Pré-teste · 1 de 2
responda antes de verUm banco RDS precisa continuar disponível se a zona onde ele está falhar, e a equipe também quer tirar a carga de relatórios de cima do banco principal. Qual combinação atende?
Vídeo · português · 22 min
Em uma frase
Multi-AZ é disponibilidade: uma espera síncrona que ninguém lê e que assume sozinha. Réplica de leitura é desempenho: uma cópia assíncrona que você lê e que só vira principal por promoção manual. A prova oferece uma como distrator da outra.
A tabela que resolve metade das questões
| Multi-AZ | Réplica de leitura | |
|---|---|---|
| Para que serve | Disponibilidade | Desempenho de leitura |
| Replicação | Síncrona: nada se perde | Assíncrona: pode estar atrasada |
| Aceita leitura? | Não. A espera não recebe conexão | Sim, com endpoint próprio |
| Failover | Automático, em um a dois minutos | Não existe: promoção é manual |
| Onde fica | Outra zona da mesma região | Mesma região ou outra |
| Quantas | Uma espera (ou duas, no modelo de cluster) | Várias |
O cenário mais repetido junta os dois requisitos numa frase só: "continuar disponível se a zona cair e tirar os relatórios de cima do banco". A resposta certa cita Multi-AZ e réplica de leitura; as erradas tentam resolver os dois com um mecanismo só.
O failover e o endpoint
No failover do Multi-AZ, o nome do endpoint não muda; o que muda é para onde ele aponta. Consequência prática, que vira questão: a aplicação precisa reconectar. Conexões antigas continuam tentando a instância que saiu, e cliente com cache de DNS longo demora a enxergar a troca. A correção esperada é TTL curto e lógica de reconexão com novas tentativas — não é configuração do banco, é do cliente.
Aurora: o mesmo vocabulário, outra arquitetura
Aurora— Banco compatível com MySQL e PostgreSQL em que o armazenamento é uma camada compartilhada, com seis cópias em três zonas, separada das instâncias de computação.Como o dado não pertence a uma instância, as peças mudam:
- Até 15 réplicas na mesma região, que servem leitura e são candidatas a assumir a escrita em segundos, com prioridade configurável.
- Endpoint de escrita e endpoint de leitura separados: usar o de leitura é o que distribui consulta entre as réplicas.
- Global Database replica o cluster para outras regiões com atraso típico abaixo de um segundo; a secundária serve leitura e é promovida em cerca de um minuto.
A pista do enunciado: "compatível com MySQL", "leitura em outra região", "promoção em minutos" junta os três e aponta para Global Database.
DynamoDB: resiliente por desenho, global por escolha
Dentro da região, o DynamoDB já replica entre três zonas; não há Multi-AZ para ligar. O que sobra decidir é entre regiões:
tabela global— Replicação ativa em várias regiões: escreve-se e lê-se em qualquer uma delas, com resolução de conflito pelo último escritor.É diferente de tudo que veio antes neste tema: não há primário e réplica, há várias regiões ativas. Por isso a pergunta "usuários dos dois lados do oceano precisam escrever com baixa latência" só tem essa resposta — réplica de leitura não aceita escrita.
Como responder o cenário
Separe os requisitos antes de olhar as alternativas: continuar no ar (Multi-AZ, Aurora com réplicas), aguentar leitura (réplica de leitura, endpoint de leitura), escrever perto do usuário em outra região (tabela global, ou Aurora Global Database para relacional), voltar de um erro (backup, point-in-time). Quase toda questão combina dois desses, e a alternativa certa é a que nomeia os dois mecanismos.
Se quiser outro ângulo1 vídeo
Como cai na sabatina
“O banco precisa sobreviver à falha de uma zona e aguentar relatórios pesados sem afetar as transações. O que você configura?”
Erros comuns
- Achar que a instância de espera do Multi-AZ atende leitura. Ela não recebe tráfego nenhum; existe para assumir no failover. Quem quer distribuir leitura precisa de réplica de leitura.
- Usar réplica de leitura como mecanismo de alta disponibilidade. A replicação é assíncrona e a promoção é manual: há atraso possível e não há failover automático.
- Esquecer que o failover do Multi-AZ troca o registro DNS do endpoint. A aplicação precisa reconectar; conexão presa em cache de DNS é o sintoma clássico.
- Confundir Aurora réplica com Aurora Global Database. Réplicas ficam na mesma região e podem ser alvo de failover; Global Database replica para outra região, com atraso típico abaixo de um segundo.
- Achar que tabela global do DynamoDB precisa de configuração de failover. Ela é ativa em todas as regiões escolhidas: escreve-se e lê-se em qualquer uma, com resolução do último escritor em caso de conflito.
- Tratar backup automático como alta disponibilidade. Backup restaura depois, com tempo parado; disponibilidade é continuar.
Flashcards
Card 1 de 14
0 certos · 0 a reverDrill
Disponibilidade ou desempenho?
Para cada necessidade, diga o mecanismo esperado.
1.Sobreviver à falha da zona do banco, sem intervenção manual.
2.Relatórios pesados estão deixando as transações lentas.
3.Usuários no Japão e no Brasil escrevendo na mesma base NoSQL com baixa latência.
4.Cluster MySQL compatível precisa de leitura em outra região e promoção rápida em caso de desastre.
5.Reduzir a latência de leitura para usuários de outro continente num banco relacional.
Quiz · 1 de 4
Uma aplicação usa um banco RDS de instância única. O time de negócio executa relatórios pesados que degradam o desempenho das transações, e a diretoria exige que o banco continue disponível se a zona de disponibilidade falhar. Qual solução atende aos DOIS requisitos?
Explique para um gerente
Explique em um minuto por que ter uma cópia do banco em outra zona não ajuda a deixar os relatórios mais rápidos.
Se travar numa palavra técnica, é sinal de que ainda não entendeu essa parte.
Prefiro falar em voz alta
00:00
Toque para gravar, ou responda em voz alta sem gravar