Enquanto dezenas de milhares de clientes estão usando com sucesso Amazon DynamoDB Tabelas globais Com a eventual consistência, estamos vendo necessidades emergentes de resiliência ainda mais forte. Muitas organizações acham que a arquitetura da zona de multia-aliavável dynamoDB e, eventualmente, tabelas globais consistentes atendem a seus requisitos, mas aplicativos críticos, como sistemas de processamento de pagamentos e serviços financeiros, exigem mais.
Para esses aplicativos, os clientes exigem um objetivo de ponto de recuperação zero (RPO) durante eventos raros em toda a região, o que significa que você pode direcionar seu aplicativo para ler os dados mais recentes de qualquer região. Seus aplicativos de várias regiões sempre precisam acessar os mesmos dados, independentemente da localização.
A partir de hoje, você pode usar um novo recurso de tabelas globais do Amazon DynamoDB que fornece forte consistência de várias regiões (MRSC), permitindo o zero RPO. Essa capacidade, anunciada pela primeira vez como um Visualização na AWS Re: Invente 2024simplifica a construção de aplicações globais altamente resilientes.
Veja como você pode ativar o MRSC a partir de uma tabela DynamoDB vazia existente:
Com o MRSC, o DynamoDB agora oferece o mais alto nível de resiliência para seus aplicativos. Se o processamento de aplicativos for interrompido em uma região, você poderá redirecionar o tráfego para outra região que contém uma réplica do MRSC e saber que você estará processando os dados mais recentes.
Começando
Deixe -me orientá -lo em como você pode usar esse novo recurso.
Para começar a usar o MRSC, preciso criar uma tabela international a partir de uma tabela DynamoDB existente que não contenha nenhum dados. Eu navego para a minha tabela existente, selecione o Tabelas globais guia e selecione Criar réplica.
A arquitetura de disponibilidade do MRSC requer três regiões da AWS. Posso configurar o MRSC com três réplicas completas ou com duas réplicas e uma testemunha. Uma testemunha contém apenas dados de alteração replicados para fornecer a disponibilidade necessária sem manter uma cópia completa dos dados da minha tabela.
A captura de tela a seguir mostra como eu configuro o MRSC com duas réplicas e uma testemunha. Para configurar o MRSC com três réplicas completas, eu posso limpar Configurar a região 2 como testemunha.
Se eu precisar atualizar minha tabela existente programaticamente, posso usar o Amazon Q Cli Para gerar o comando necessário com o seguinte immediate:
> Hey Q! Replace my current DynamoDB desk known as "demo-mrsc" in us-east-1 with multi-Area robust consistency throughout us-east-2 with witness in us-west-2 Areas
Brand depois, a Q Cli responderá com o seguinte comando:
> To replace your DynamoDB desk with multi-Area robust consistency, you may want to make use of the update-table command with the suitable parameters. Here is how you'd do it:
aws dynamodb update-table
--table-name demo-mrsc
--replica-updates '({"Create": {"RegionName": "us-east-2"}})'
--global-table-witness-updates '({"Create": {"RegionName": "us-west-2"}})'
--multi-region-consistency STRONG
--region us-east-1
Depois de terminar o processamento, posso verificar o standing da minha tabela international do MRSC. Eu posso ver que tenho um testemunha Configurado para minha tabela international do DynamoDB. Uma testemunha reduz os custos e ainda fornece os benefícios de resiliência da forte consistência de várias regiões.
Então, na minha aplicação, posso usar ConsistentRead
para ler dados com forte consistência. Aqui está um exemplo python:
import boto3
# Configure the DynamoDB shopper in your area
dynamodb = boto3.useful resource('dynamodb', region_name="us-east-2")
desk = dynamodb.Desk('demo-mrsc')
pk_id = "demo#test123"
# Learn with robust consistency throughout areas
response = desk.get_item(
Key={
'PK': pk_id
},
ConsistentRead=True
)
print(response)
Para operações que exigem a resiliência mais forte, posso usar ConsistentRead=True
. Para operações menos críticas em que a consistência eventual é aceitável, posso omitir esse parâmetro para melhorar o desempenho e reduzir os custos.
Coisas adicionais para saber
Aqui estão algumas coisas a serem observadas:
- Disponibilidade -A forte capacidade de consistência da Amazon DynamoDB Multi-Area está disponível nas regiões da AWS a seguir: US East (Ohio, N. Virgínia), US West (Oregon), Ásia-Pacífico (Osaka, Seul, Tóquio) e Europa (Frankfurt, Irlanda, Londres, Paris)
- Preço -Preços de consistência fortes de várias regiões seguem a estrutura de preços de tabelas globais existentes. O DynamoDB recentemente reduziu os preços das tabelas globais em até 67 %, tornando essa arquitetura altamente resiliente mais acessível do que nunca. Visita Amazon DynamoDB reduz os preços para taxa de transferência sob demanda e tabelas globais no weblog do banco de dados da AWS para saber mais.
Saiba mais sobre como você pode alcançar o mais alto nível de resiliência de aplicativos, permitir que seus aplicativos estejam sempre disponíveis e sempre leia os dados mais recentes, independentemente da região, visitando Amazon DynamoDB World Tables.
Feliz edifício!
– Donnie