As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Executar workloads orientadas por mensagens em grande escala usando o AWS Fargate
Criado por Stan Zubarev (AWS)
Resumo
Este padrão mostra como executar workloads orientadas por mensagens em grande escala na Nuvem AWS usando contêineres e o AWS Fargate.
O uso de contêineres para processar dados pode ser útil quando a quantidade de dados que um aplicativo processa excede as limitações dos serviços de computação de tecnologia sem servidor baseados em perfis. Por exemplo, se um aplicativo exigir mais capacidade computacional ou tempo de processamento do que o AWS Lambda oferece, o uso do Fargate pode melhorar o desempenho.
O exemplo de configuração a seguir usa o AWS Cloud Development Kit (AWS CDK) TypeScript para configurar e implantar os seguintes recursos na Nuvem AWS:
Um serviço Fargate
Uma fila do Amazon Simple Queue Service (Amazon SQS)
Uma tabela do Amazon DynamoDB.
Um CloudWatch painel da Amazon
O serviço Fargate recebe e processa mensagens da fila do Amazon SQS e as armazena na tabela do Amazon DynamoDB. Você pode monitorar quantas mensagens do Amazon SQS são processadas e quantos itens do DynamoDB são criados pelo Fargate usando o painel. CloudWatch
nota
Você também pode usar o código de exemplo desse padrão para criar cargas de trabalho de processamento de dados mais complexas em arquiteturas sem servidor orientadas por eventos. Para obter mais informações, consulte Execute workloads agendadas e orientadas por eventos em grande escala com o AWS Fargate.
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
A versão mais recente da AWS Command Line Interface (AWS CLI), instalada e configurada em seu computador local
O Git
, instalado e configurado em sua máquina local O AWS CDK, instalado e configurado em sua máquina local
Go
, instalado e configurado em sua máquina local Docker
, instalado e configurado em sua máquina local.
Arquitetura
Pilha de tecnologias de destino
Amazon SQS
AWS Fargate
Amazon DynamoDB
Arquitetura de destino
O diagrama a seguir mostra um exemplo de fluxo de trabalho para executar workloads orientadas por mensagens em grande escala na Nuvem AWS usando o Fargate:

O diagrama mostra o seguinte fluxo de trabalho:
O serviço Fargate usa sondagem longa do Amazon SQS para receber mensagens de uma fila do Amazon SQS.
Em seguida, o serviço Fargate processa as mensagens do Amazon SQS e as armazena em uma tabela do DynamoDB.
Automação e escala
Para automatizar o ajuste de escala da contagem de tarefas do Fargate, é possível configurar o Amazon Elastic Container Service (Amazon ECS) Service Auto Scaling. É uma prática recomendada configurar a política de ajuste de escala com base no número de mensagens visíveis na fila do Amazon SQS do seu aplicativo.
Para obter mais informações, consulte Escalabilidade com base no Amazon SQS no Guia do usuário do Amazon Auto EC2 Scaling.
Ferramentas
Serviços da AWS
O AWS Fargate ajuda você a executar contêineres sem precisar gerenciar servidores ou instâncias do Amazon Elastic Compute Cloud (Amazon). EC2 É usado em conjunto com o Amazon Elastic Container Service (Amazon ECS).
O Amazon Simple Queue Service (Amazon SQS) fornece uma fila hospedada segura, durável e disponível que ajuda a integrar e desacoplar sistemas e componentes de software distribuídos.
O Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado que fornece performance rápida, previsível e escalável.
CloudWatchA Amazon ajuda você a monitorar as métricas dos seus recursos da AWS e dos aplicativos que você executa na AWS em tempo real.
Código
O código desse padrão está disponível no repositório GitHub sqs-fargate-ddb-cdk-go
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Clone o GitHub repositório. | Clone o repositório GitHub sqs-fargate-ddb-cdk-go
| Desenvolvedor de aplicativos |
Verifique se a AWS CLI está configurado para a conta correta da AWS e se a CDK da AWS tem as permissões necessárias. | Para verificar se as configurações da AWS CLI estão corretas, é possível executar o seguinte comando Is do Amazon Simple Storage Service (Amazon S3):
Esse procedimento também exige que o AWS CDK tenha permissões para provisionar a infraestrutura em sua conta da AWS. Para conceder as permissões necessárias, você deve criar um perfil nomeado da AWS na AWS CLI e exportá-lo como uma variável de AWS_PROFILEambiente. notaSe você nunca usou o AWS CDK em sua conta da AWS, primeiro você deve provisionar os recursos necessários do AWS CDK. Para obter mais informações, consulte Inicializar no Guia do desenvolvedor do AWS CDK v2. | Desenvolvedor de aplicativos |
Implante a pilha da AWS CDK em sua conta da AWS. |
| Desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Envie uma mensagem de teste para a fila do Amazon SQS. | Para obter instruções, consulte Enviar mensagens para uma fila (console) no Guia do desenvolvedor do Amazon SQS. Exemplo de mensagem de teste do Amazon SQS
| Desenvolvedor de aplicativos |
Verifique se a mensagem de teste aparece nos registros do serviço Fargate. CloudWatch | Siga as instruções em Visualização de CloudWatch registros no Amazon ECS Developer Guide. Certifique-se de revisar os registros do grupo de go-fargate-serviceregistros no cluster do go-service-clusterECS. | Desenvolvedor de aplicativos |
Verifique se a mensagem de teste aparece na tabela do DynamoDB. |
| Desenvolvedor de aplicativos |
Verifique se o serviço Fargate está enviando mensagens para CloudWatch o Logs. |
notaO AWS CDK cria automaticamente o CloudWatch painel na sua conta da AWS. | Desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Exclua a pilha do AWS CDK. |
| Desenvolvedor de aplicativos |
Verifique se a pilha do AWS CDK foi excluída. | Para garantir que a pilha foi excluída, execute o seguinte comando:
O valor Para obter mais informações, consulte exemplos de comandos de operação de CloudFormation pilha para AWS CLI e PowerShell no Guia do CloudFormation usuário da AWS. | Desenvolvedor de aplicativos |
Recursos relacionados
Como configurar a AWS CLI (Guia do usuário da AWS CLI para versão 2)
Referência de API (referência de API do AWS CDK)
Documentação do AWS SDK para Go v2
(documentação do Go)