Pular para o conteúdo principal
InicioTutoriaisAWS

Amazon Simple Queue Service (SQS): Um tutorial abrangente

Este tutorial ensina você a criar, gerenciar e usar as filas do Amazon SQS para criar aplicativos distribuídos escalonáveis no AWS, com exemplos práticos usando o console e a CLI.
Actualizado 23 de set. de 2024  · 29 min leer

O Amazon Simple Queue Service (SQS) é um serviço de enfileiramento de mensagens totalmente gerenciado fornecido pela Amazon Web Services (AWS). Ele permite o desacoplamento e o dimensionamento de sistemas distribuídos, microsserviços e aplicativos sem servidor.

Este guia oferece uma compreensão clara do AWS SQS, abrangendo seus recursos e o processo de configuração e gerenciamento de filas. Ele também discute como enviar e receber mensagens, examina os modelos de preços, explora o monitoramento e as métricas, compara o SQS com o SNS e compartilha as práticas recomendadas para o uso ideal. 

Para quem não tem experiência em AWS, nosso curso Introdução à AWS é um bom ponto de partida. Ele ajuda você a descobrir o mundo da Amazon Web Services e a entender por que ela está na vanguarda da computação em nuvem.

O que é o AWS SQS?

Antes de nos aprofundarmos nos detalhes, vamos primeiro entender o que é o AWS SQS e por que ele é tão valioso no ecossistema do AWS.

Diagrama da arquitetura do AWS SQS

Diagrama de arquitetura do Amazon SQS

O AWS SQS é um sistema de enfileiramento distribuído que permite que os aplicativos de serviço da Web enfileirem de forma rápida e confiável as mensagens geradas por produtores para serem consumidas por consumidores.

Uma fila serve como um repositório temporário para mensagens que aguardam processamento. O Amazon SQS também oferece recursos de repetição por meio de sua política de redrive, que permite várias tentativas e o uso de filas de letras mortas (DLQs) usadas para gerenciar mensagens propensas a erros, notificando os desenvolvedores sobre os problemas e, opcionalmente, armazenando as mensagens para reprocessamento futuro.

Recursos e benefícios do SQS

O uso do SQS tem vários benefícios, incluindo, entre outros, os seguintes:

Principais recursos e benefícios do AWS SQS

Principais recursos e benefícios do AWS SQS

  • Escalabilidade: O SQS pode lidar com qualquer quantidade de tráfego sem exigir que você provisione ou gerencie a infraestrutura.
  • Durabilidade: As mensagens são armazenadas de forma redundante em várias zonas de disponibilidade.
  • Disponibilidade: Ele oferece alta disponibilidade para a produção e o consumo de mensagens.
  • Segurança: Ele fornece criptografia no lado do servidor (SSE) para proteger o conteúdo das mensagens.
  • Flexibilidade: Ele oferece suporte a vários formatos de mensagem e pode ser usado com vários serviços da AWS.

Casos de uso em desacoplamento e dimensionamento de microsserviços

Vários casos de uso do setor podem aproveitar os benefícios do SQS, e alguns deles são ilustrados abaixo:

Casos de uso do AWS SQS no desacoplamento e dimensionamento de microsserviços

Casos de uso do AWS SQS no desacoplamento e dimensionamento de microsserviços

  • Fila de trabalho: Distribuir tarefas entre vários processos de trabalho.
  • Buffer para gravações no banco de dados: Proteja um banco de dados contra uma carga excessiva de gravação.
  • Solicitação de descarregamento: Mova as operações lentas para fora dos caminhos de solicitação interativa.
  • Processamento em lote: Colete e processe um grupo de mensagens de uma só vez.

Torne-se um engenheiro de dados

Desenvolva habilidades em Python para se tornar um engenheiro de dados profissional.

Comece a Usar Gratuitamente

Configuração do AWS SQS

Agora que você já sabe o que é o SQS, vamos ver como configurá-lo. Esta seção orientará você sobre os pré-requisitos e como acessar o console SQS.

Pré-requisitos

Antes de começar a usar o AWS SQS, verifique se você tem:

  • Uma conta AWS ativa. Você pode criá-lo na página oficial.
  • As funções e permissões de IAM necessárias configuradas para o acesso ao SQS.

Para configurar as permissões do IAM:

  • Vá para o console do IAM.
  • Crie uma nova política.

Configuração do AWS SQS

Configuração do AWS SQS

  • Há duas opções principais para criar uma política: uma abordagem visual ou JSON. No nosso caso, usamos a abordagem visual, que é mais intuitiva. 
  • Escolha "SQS" na área "Service" e defina o Efeito para "Permitir" as seguintes permissões: sqs:CreateQueue, sqs:DeleteQueue, sqs:SendMessage, sqs:ReceiveMessage, sqs:DeleteMessage.

Configuração do AWS SQS

Configuração do AWS SQS

  • Permita que as ações acessem "Todos" os recursos e escolha "Avançar".
  • Dê um nome à política, que corresponde a "SQSHandsOnPolicies" no nosso caso, e, por fim, crie a política.

Configuração do AWS SQS

Configuração do AWS SQS

A política final deve ter a seguinte aparência no formato JSON:

Configuração do AWS SQS

Configuração do AWS SQS

Vamos ter uma breve visão geral da definição de nossa política:

  • “Version”: “2012-10-17” é a versão atual da linguagem de política do IAM.
  • A política contém um “Statement”, que define um conjunto de permissões.
  • “Sid”: “VisualEditor0” significa que essa política foi criada por meio de um editor visual.
  • “Effect”: “Allow” significa que essas ações estão sendo permitidas.
  • “Action”: Essa lista especifica as operações SQS acima que são permitidas:
  • “Resource”: “*” significa que essas ações são permitidas em todos os recursos SQS da conta.

Essa política concede acesso total para criar, excluir, enviar e receber mensagens de qualquer fila do SQS na conta. É bastante permissivo, portanto, talvez você queira restringi-lo a ARNs de fila específicos para aumentar a segurança em um ambiente de produção.

Se você quiser saber mais sobre a configuração do IAM, o tutorial The Complete Guide to AWS Identity and Access Management (IAM) ensina como proteger seu ambiente AWS, gerenciar o acesso com usuários, grupos e funções e implementar práticas recomendadas para uma segurança robusta.

Para aprofundar seu conhecimento sobre a configuração do AWS, você pode acessar o site How to Setup and Configure AWS: Um tutorial abrangente seria útil para você descobrir as configurações essenciais, as práticas recomendadas de segurança e como aproveitar os serviços da AWS para análise de dados e aprendizado de máquina.

Acessando o console do Amazon SQS

Quando os pré-requisitos estiverem prontos, a próxima etapa é acessar o console do SQS para começar a criar e gerenciar filas. Aqui estão as etapas para acessar o console:

  • Na barra de pesquisa na parte superior, digite "SQS" e selecione "Simple Queue Service" na lista suspensa.
  • Você será direcionado para o painel do SQS.

Como acessar o console do Amazon SQS

Acessando o console do Amazon SQS

Criação e gerenciamento de filas SQS

Com acesso ao console do SQS, podemos começar a criar e gerenciar filas. Esta seção abordará a criação de filas padrão e FIFO.

Mas espere, onde entra em jogo a nossa Política de IAM?

A política de IAM que criamos na seção de pré-requisitos é crucial para a criação e o gerenciamento de filas. Veja como isso é levado em conta:

  • Associação de usuário ou função: A política deve ser anexada ao usuário ou função do IAM que você está usando para acessar o console do SQS ou a CLI do AWS.
  • Verificação de permissão: Quando você tenta criar uma fila (ou executar qualquer outra ação do SQS), o AWS verifica essa política para garantir que você tenha as permissões necessárias.
  • Autorização de ação: A permissão sqs:CreateQueue em nossa política permite especificamente a criação de filas. Sem isso, você receberia um erro de "Acesso negado" ao criar uma fila.
  • Operações em andamento: As outras permissões na política (sqs:SendMessage, sqs:ReceiveMessage, sqs:DeleteMessage, sqs:DeleteQueue) permitem que você realize várias operações na fila após a criação.

Com esse entendimento, vamos continuar a criar nossas filas, começando com uma fila padrão.

Criação de uma fila padrão

As filas padrão são o tipo de fila padrão no SQS. Veja como você pode criar um:

  • No painel do SQS, clique em "Criar fila".
  • Escolha "Standard" (Padrão) como o tipo de fila.
  • Digite um nome para a fila, que é "SQSHandsOn" para o nosso cenário.
  • Configurar as definições de fila: Tempo limite de visibilidade, período de retenção de mensagens, tamanho máximo da mensagem e atraso na entrega. Vamos deixar esses valores padrão como estão e, em seguida, clicar em "Create queue" (Criar fila).

Criação de uma fila padrão

Criação de uma fila padrão

Uma criação bem-sucedida de fila gera uma mensagem confirmando sua criação, conforme mostrado abaixo, juntamente com informações adicionais sobre a fila.

Criação de uma fila padrão

Criação de uma fila padrão

Criação de uma fila FIFO

As filas FIFO são usadas para garantir a ordem de processamento das mensagens e, a seguir, você verá as etapas para criar uma: 

  • No painel do SQS, clique em "Criar fila".
  • Escolha "FIFO" como o tipo de fila.
  • Digite um nome para sua fila (deve terminar com ".fifo"). Chamei o meu de "SQSHandsOn.fifo".
  • Da mesma forma que no cenário acima, deixe tudo o mais em sua configuração padrão e "Create queue" (Criar fila). 

Criação de uma fila FIFO

Criação de uma fila FIFO

Da mesma forma que a fila padrão, a criação bem-sucedida do FIFO também fornece os mesmos detalhes usados para enviar mensagens.

Criação de uma fila FIFO

Criação de uma fila FIFO

Diferenças entre as filas padrão e FIFO

Ao escolher entre as filas padrão e FIFO no Amazon SQS, é importante que você entenda seus recursos e capacidades distintos. 

A tabela a seguir fornece uma análise comparativa para ajudar você a decidir qual tipo de fila atende melhor às necessidades do seu aplicativo:

Diferenças entre filas padrão e filas FIFO

Diferenças entre as filas padrão e FIFO

Envio e recebimento de mensagens no SQS

Agora que todas as nossas filas estão configuradas, vamos começar a enviar e receber mensagens. Esta seção aborda como fazer isso por meio do Console de Gerenciamento do AWS e da Interface de Linha de Comando (CLI) do AWS.

Envio de mensagens

O processo de envio de mensagens é mostrado usando as filas padrão e FIFO.

Fila padrão

Usando o console de gerenciamento do AWS
  • Selecione sua fila no painel do SQS.
  • Clique em "Enviar e receber mensagens".
  • No campo "Message body" (Corpo da mensagem), inserimos uma mensagem, por exemplo: "Essa fila é criada usando o tutorial Guia completo do Amazon Simple Queue Service (SQS)."
  • Clique em "Enviar mensagem".

Envio de mensagens usando o console de gerenciamento do AWS

Envio de mensagens usando o console de gerenciamento do AWS

Depois de enviar a mensagem, um pop-up confirma que ela foi enviada. Ao clicar em "View details", você verá os detalhes da nossa mensagem, conforme mostrado abaixo.

Envio de mensagens usando o console de gerenciamento do AWS

Envio de mensagens usando o console de gerenciamento do AWS

Por fim, na seção "Receive messages" (Receber mensagens), podemos ver que há uma mensagem disponível.

Envio de mensagens usando o console de gerenciamento do AWS

Envio de mensagens usando o console de gerenciamento do AWS

Usando o SQS da CLI do AWS

As principais etapas para enviar uma mensagem por meio da CLI seguem o modelo abaixo.

aws sqs send-message --queue-url [YOUR URL]--message-body "YOUR MESSAGE"

Para o método de fila padrão, nosso URL é fornecido na captura de tela correspondente acima. Para a CLI, vamos usar uma mensagem diferente:

  • URL: https://sqs.us-east-1.amazonaws.com/022499002265/SQSHandsOn
  • Mensagem: "Mensagem enviada via AWS CLI"

A primeira etapa para começar a usar a CLI é configurá-la para que ela possa interagir com nossos recursos do AWS, e isso requer as seguintes credenciais:

  • ID da chave de acesso
  • Chave de acesso secreta
aws configure

Quando a configuração estiver concluída, execute o seguinte comando com os valores de argumento corretos:

aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/022499002265/SQSHandsOn --message-body "Message sent via AWS CLI"

Envio de mensagens usando a CLI

Envio de mensagens usando a CLI

A saída JSON da execução do comando corresponde aos detalhes da mensagem recém-enviada, e podemos ver que agora há duas mensagens na fila SQSHandsOn.

Envio de mensagens usando a CLI

Envio de mensagens usando a CLI

Fila FIFO

O processo de envio de mensagens usando FIFO é um pouco diferente da abordagem padrão de enfileiramento.

Para ilustrar melhor esse cenário, imagine que você esteja administrando uma plataforma de comércio eletrônico que vende dispositivos eletrônicos. 

Seu sistema precisa lidar com várias operações, como processamento de pedidos, atualização de estoque e gerenciamento de pagamentos. Nesse caso, podemos usar uma fila SQS FIFO para garantir que essas operações sejam processadas na ordem correta e sem duplicatas.

  • Exemplo 1 da CLI (pedido do cliente): Essa mensagem é enviada quando um cliente faz um novo pedido. O sistema de processamento de pedidos captará essas mensagens e as atenderá na ordem em que foram recebidas.
  • Exemplo 2 da CLI (atualização do inventário): Depois que um pedido é processado, essa mensagem é enviada para atualizar o estoque. Ele garante que os níveis de estoque sejam mantidos com precisão à medida que os produtos são vendidos.
  • Exemplo de console (processamento de pagamentos): Essa mensagem é gerada quando um pagamento precisa ser processado para um pedido. Isso garante que os pagamentos sejam processados na ordem em que foram recebidos e evita a cobrança dupla.

O uso de uma fila FIFO para essas operações garante que você tenha certeza de que:

  • Os pedidos são processados na sequência em que foram feitos.
  • As atualizações de estoque ocorrem na ordem correta, evitando o excesso de vendas.
  • Os pagamentos são processados uma vez e na ordem correta.

Ao enviar mensagens para uma fila SQS FIFO, lembre-se de dois elementos fundamentais:

  • ID do grupo de mensagens: Necessário para todas as mensagens. Determina quais mensagens são processadas em ordem em um grupo.
  • ID de desduplicação de mensagens: Garante que cada mensagem seja processada apenas uma vez em um intervalo de 5 minutos.

Com esse entendimento, vamos prosseguir com a abordagem da CLI.

Usando o SQS da CLI do AWS

   Podemos executar os seguintes comandos para enviar as duas primeiras mensagens na fila FIFO.

  • Exemplo de CLI 1: Envio de um pedido de cliente:
aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/022499002265/SQSHandsOn.fifo --message-body "Process customer order: #A1001" --message-group-id "CustomerOrders" --message-deduplication-id "Order-A1001-20240817-1"

A saída para essa primeira execução é fornecida abaixo.

Exemplo 1 - Resultado do envio de mensagens usando a CLI com FIFO

Exemplo 1 - Envio de resultados de mensagens usando a CLI com FIFO

  • Exemplo de CLI 2: Envio de uma atualização de inventário:
aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/022499002265/SQSHandsOn.fifo --message-body "Update inventory: ProductX -5 units"  --message-group-id "InventoryUpdates" --message-deduplication-id "Inventory-ProductX-20240817-1"

O resultado é apresentado a seguir.

Exemplo 2 - Resultado do envio de mensagens usando a CLI com FIFO

Exemplo 2 - Envio de resultados de mensagens usando a CLI com FIFO

Até o momento, duas mensagens foram enviadas para a fila FIFO e podem ser vistas abaixo.

Resultado do envio de mensagens usando a CLI com FIFO - Número de mensagens

Resultado do envio de mensagens usando a CLI com filas FIFO - Número de mensagens

Usando o console de gerenciamento do AWS

Da mesma forma que a fila padrão, podemos enviar mensagens do console de gerenciamento da seguinte maneira:

  • Nas páginas "Queues" (Filas), escolha a "SQSHandsOn.fifo".
  • Selecione a guia "Send and receive message" (Enviar e receber mensagem) para enviar uma mensagem.
  • Campos adicionais, como "ID do grupo de mensagens" e "ID de desduplicação de mensagens", são obrigatórios.

Resultado do envio de mensagens usando o console de gerenciamento com FIFO

Resultado do envio de mensagens usando o console de gerenciamento com filas FIFO

Agora, podemos ver que o número total de mensagens na fila FIFO é três.

Resultado do envio de mensagens usando o console de gerenciamento com FIFO - Número total de mensagens

Resultado do envio de mensagens usando o console de gerenciamento com filas FIFO - Número total de mensagens

Recebimento e exclusão de mensagens

Receber e excluir mensagens é tão importante quanto enviá-las. Veja como você pode fazer as duas coisas.

Fila padrão

Usando o console de gerenciamento do AWS
  • Selecione sua fila no painel do SQS.
  • Clique em "Enviar e receber mensagens".
  • Clique em "Poll for messages".
  • As mensagens serão exibidas na seção "Messages" (Mensagens).

Recebimento de mensagens usando o console de gerenciamento com fila padrão

Recebimento de mensagens usando o console de gerenciamento do AWS com fila padrão

Todas as duas mensagens na fila padrão podem ser vistas acima.

Usando o SQS da CLI da AWS

Abaixo está o comando geral para receber mensagens de uma fila padrão.

aws sqs receive-message --queue-url [YOUR URL]

Usando nossa fila padrão, o comando completo se torna:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/022499002265/SQSHandsOn

Fila FIFO

O processo de recuperação de mensagens por meio do console de gerenciamento segue o mesmo processo da abordagem padrão.

Para receber mensagens de uma fila FIFO usando a CLI do AWS, você pode usar o comando aws sqs receive-message. Aqui está a estrutura básica:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/022499002265/SQSHandsOn.fifo --attribute-names All --message-attribute-names All --max-number-of-messages 3
  • -attribute-names All: Recupera todos os atributos da mensagem.
  • -message-attribute-names All: Recupera todos os atributos de mensagens personalizadas.
  • --max-number-of-messages 3: Especifica o número máximo de mensagens a serem enviadas para você.

A execução do comando acima fornece todas as três mensagens na fila FIFO.

Resultado do recebimento de mensagens usando a CLI com FIFO

Resultado do recebimento de mensagens usando a CLI com filas FIFO

Preços do AWS SQS

Entender o modelo de preços é fundamental para que você possa usar o SQS de forma econômica. Esta seção detalha os preços e oferece dicas para o gerenciamento de custos.

Em geral, o preço do AWS SQS é baseado no número de solicitações de API feitas, na transferência de dados e nos recursos opcionais usados.

Solicitar preços

As tabelas a seguir fornecem uma visão geral dos preços das solicitações de SQS:

 

Filas padrão 

(por milhão de solicitações)

Filas FIFO 

(por milhão de solicitações)

Primeiro 1 milhão de solicitações/mês

Grátis

Grátis

De 1 milhão a 100 bilhões de solicitações/mês

$0.40

$0.5

De 100 bilhões a 200 bilhões de solicitações/mês

$0.30

$0.40

Mais de 200 bilhões de solicitações/mês

0.24

$0.35

Preços da página da AWS Página do SQS

Preço de transferência de dados

Para entender o preço da transferência de dados, consulte a tabela a seguir:

Transferência de dados IN

Preços

Toda a transferência de dados em

US$ 0,00 por GB

Transferência de dados OUT

Preços

Primeiros 10 TB/mês

US$ 0,09 por GB

Próximos 40 TB / mês

US$ 0,085 por GB

Próximos 100 TB / mês

US$ 0,07 por GB

Mais de 150 TB / mês

US$ 0,05 por GB

Preços da página da AWS Página do SQS

Dicas de gerenciamento de custos

Aqui estão algumas dicas rápidas para você gerenciar seus custos de SQS:

  • Use a sondagem longa para reduzir o número de recebimentos vazios.
  • Lote suas operações de envio e recebimento.
  • Monitore seu uso com o AWS Cost Explorer.

Monitoramento e métricas do AWS SQS

O monitoramento eficaz é essencial para manter uma implementação saudável do SQS. Esta seção aborda métricas importantes e como configurar alarmes.

Principais métricas do AWS SQS

Aqui estão algumas das métricas mais importantes para você ficar de olho:

Principais métricas do AWS SQS

Principais métricas do AWS SQS

ApproximateNumberOfMessagesVisible

Essa métrica representa o número de mensagens disponíveis para recuperação na fila. É um indicador do acúmulo de filas e da eficiência do processamento. Um número alto pode indicar gargalos de processamento.

ApproximateAgeOfOldestMessage

Essa métrica mostra há quanto tempo a mensagem mais antiga não excluída está na fila. Ele ajuda a identificar possíveis problemas com o processamento de mensagens, como mensagens travadas ou consumidores lentos. Para filas FIFO, essa métrica é vital, pois pode indicar grupos de mensagens bloqueados.

NumberOfMessagesSent

Ele rastreia o número de mensagens adicionadas à fila. É útil para monitorar as taxas de entrada na fila e identificar picos incomuns na produção de mensagens. Observe que as mensagens enviadas manualmente para as filas de cartas mortas estão incluídas nessa contagem.

NumberOfMessagesReceived (número de mensagens recebidas)

Essa métrica indica quantas mensagens da fila foram devolvidas aos consumidores. Ele ajuda a monitorar a taxa de saída da fila e pode ser comparado com NumberOfMessagesSent para avaliar a eficiência do processamento. Assim como o NumberOfMessagesSent, ele não inclui mensagens movidas automaticamente para filas de cartas mortas devido a falhas no processamento

Configuração de alarmes do CloudWatch

A criação de um alarme do CloudWatch é ilustrada para as quatro métricas acima. O processo é o mesmo para todas essas métricas. Portanto, estamos nos concentrando em apenas uma métrica e somente no SQS padrão ( SQSHandsOn) para simplificar .

As principais etapas para configurar alarmes para o ApproximateNumberOfMessagesVisible (número aproximado de mensagens visíveis) estão abaixo.

Os alarmes do CloudWatch podem alertar você sobre possíveis problemas. Veja como você pode configurá-los no console de gerenciamento:

  • Procure por "CloudWatch" e selecione-o.
  • No painel de navegação esquerdo, clique em "Alarms" (Alarmes).
  • Clique no botão "Criar alarme".
  • Clique em "Select metric" (Selecionar métrica).
  • Na guia "Todas as métricas", localize e clique em "SQS".
  • Clique em "Queue Metrics". 
  • Encontre sua fila e selecione a métrica ApproximateNumberOfMessagesVisible (número aproximado de mensagens visíveis) e a métrica padrão SQSHandsOn.

Configuração de alarmes do CloudWatch

Configuração de alarmes do CloudWatch

  • Na página acima, selecione "Graph metrics" (Métricas de gráfico).
  • Escolha a estatística e defina-a como "Média".
  • Defina o período, que é de 5 minutos no nosso caso, e escolha "Select metric" (Selecionar métrica).

Configuração de alarmes do CloudWatch

Configuração de alarmes do CloudWatch

  • Dê um nome à métrica (por exemplo, "SQS-AvgHighMessageCount-SQSHandsOn") e defina o "Threshold Type" como "Static".
  • Forneça uma condição para o alarme. Isso corresponde a "Maior" em nosso caso.
  • Vamos definir o valor do limite como "20" e selecionar "Next".

Configuração de alarmes do CloudWatch

Configuração de alarmes do CloudWatch

A configuração acima significa que esse alarme será acionado quando o número médio de mensagens visíveis na fila do SQSHandsOn exceder 20 para pelo menos um ponto de dados em 5 minutos. O gráfico mostra a contagem atual de mensagens (linha azul) em relação ao limite (linha vermelha em 20).

Essa configuração ajuda a monitorar se a nossa fila acumula muitas mensagens não processadas, o que pode indicar atrasos no processamento ou problemas com os consumidores. 

Os consumidores referem-se a todos os nossos aplicativos ou componentes do sistema que recuperam e processam mensagens da fila.

Se a contagem média de mensagens for superior a 20, você receberá um alerta, o que lhe permitirá investigar e tomar as medidas adequadas para evitar acúmulos na fila.

  • A ação "Next" (Próximo) acima leva a "Configure actions" (Configurar ações), portanto, não precisamos configurar nada. Deixamos essa página como está.
  • Escolha "Next" (Avançar) e digite um nome exclusivo para o alarme, que, no nosso caso, é "SQSHandsOn-HighMessageCount" (SQSHandsOn-HighMessageCount)
  • Opcionalmente, adicione uma descrição e selecione "Next" (Avançar).
  • Revise suas configurações e clique em "Criar alarme".

Configuração de alarmes do CloudWatch

Configuração de alarmes do CloudWatch

  • Você deverá ver a mensagem verde de confirmação do nosso alarme, juntamente com o nome do alarme na coluna "Name" (Nome).

Configuração de alarmes do CloudWatch

Configuração de alarmes do CloudWatch

  • Depois de selecionar o nome do alarme, você verá os detalhes completos da seguinte forma:

Configuração de alarmes do CloudWatch

Configuração de alarmes do CloudWatch

O alarme da nossa filaSQSHandsOn está atualmente em um estado de "Dados insuficientes". Isso significa que o CloudWatch não tem informações suficientes para determinar se o alarme deve ser acionado. 

O gráfico não mostra pontos de dados, o que indica que a fila é nova. O alarme é acionado quando a contagem média de mensagens ultrapassa 20 em 5 minutos. 

O CloudWatch coletará dados e atualizará o estado do alarme à medida que a fila se tornar ativa e as mensagens forem processadas. 

AWS SNS vs SQS

Embora o SQS e o SNS sejam serviços de mensagens, eles têm finalidades diferentes. Esta seção esclarece as diferenças e os casos de uso de cada um.

Tabela de comparação entre SNS e SQS

Tabela de comparação entre SNS e SQS

Práticas recomendadas do AWS SQS

Seguir as práticas recomendadas é importante para que você tire o máximo proveito do SQS. Estas são algumas dicas para que você possa usá-lo da melhor maneira possível:

  • Use polling longo para reduzir os custos e a latência.
  • Implemente filas de cartas mortas para mensagens problemáticas.
  • Use operações em lote sempre que possível.
  • Proteja suas filas com políticas de acesso apropriadas.
  • Monitore a profundidade da fila e ajuste sua capacidade de processamento de acordo.
  • Use criptografia em trânsito e em repouso para dados confidenciais.

Conclusão

O AWS SQS é uma ferramenta avançada para a criação de aplicativos em nuvem escalonáveis e resilientes. Ao desacoplar os componentes do seu aplicativo, você pode obter maior flexibilidade, tolerância a falhas e escalabilidade. Com a facilidade de uso, o conjunto robusto de recursos e a integração com outros serviços do AWS, o SQS é um serviço essencial para arquiteturas modernas de nuvem.

Lembre-se de monitorar seu uso, otimizar sua implementação e seguir as práticas recomendadas para obter o máximo do AWS SQS. À medida que seu aplicativo cresce e evolui, o SQS pode se adaptar às suas necessidades em constante mudança, o que o torna um recurso valioso no seu kit de ferramentas do AWS.

Continue sua jornada na AWS inscrevendo-se em nosso curso AWS Cloud Technology and Services. Essa etapa inicial permitirá que você avance em sua carreira e, posteriormente, obtenha a certificação da AWS.

Obtenha a certificação para a função de engenheiro de dados dos seus sonhos

Nossos programas de certificação ajudam você a se destacar e a provar que suas habilidades estão prontas para o trabalho para possíveis empregadores.

Timeline mobile.png

Perguntas frequentes

Qual é a diferença entre uma fila padrão e uma fila FIFO no SQS?

Uma fila padrão permite uma taxa de transferência ilimitada e a entrega de mensagens pelo menos uma vez, sem garantia da ordem das mensagens. Uma fila FIFO, por outro lado, assegura que as mensagens sejam processadas na ordem exata em que são enviadas e garante que cada mensagem seja processada apenas uma vez.

Como posso controlar o acesso às minhas filas do SQS?

Você pode controlar o acesso às filas do SQS usando políticas de IAM e políticas de recursos do SQS. As políticas de IAM permitem que você gerencie permissões para usuários e funções, enquanto as políticas de SQS gerenciam o acesso no nível da fila, restringindo o acesso a contas ou ações específicas da AWS.

Quais são os custos associados ao uso do AWS SQS?

Os custos do AWS SQS são baseados no número de solicitações de API e na transferência de dados. O primeiro milhão de solicitações por mês é gratuito, e o preço aumenta de acordo com o número de solicitações e recursos adicionais, como filas FIFO e polling longo.

Como posso melhorar o desempenho das minhas filas do SQS?

Para otimizar o desempenho, use polling longo para reduzir os recebimentos vazios, implemente operações em lote para enviar e receber mensagens em massa e monitore sua fila com o CloudWatch para ajustar a capacidade de processamento de mensagens conforme necessário.


Photo of Zoumana Keita
Author
Zoumana Keita
LinkedIn
Twitter

A Zoumana desenvolve ferramentas de IA LLM para ajudar as empresas a realizar due diligence de sustentabilidade e avaliações de risco. Anteriormente, ele trabalhou como cientista de dados e engenheiro de aprendizado de máquina na Axionable e na IBM. Zoumana é o fundador da plataforma de tecnologia educacional de aprendizagem entre pares ETP4Africa. Ele escreveu mais de 20 tutoriais para o DataCamp.

Temas

Aprenda mais sobre a AWS com esses cursos!

Certificação disponível

Course

Introdução à AWS

2 hr
11.8K
Descubra o mundo do Amazon Web Services (AWS) e entenda por que ele está na vanguarda da computação em nuvem.
See DetailsRight Arrow
Start Course

Track

Fundamentos da AWS

10 horas hr
Adquira as habilidades necessárias para o exame Certified Cloud Practitioner da Amazon. Saiba como usar e proteger os principais serviços de computação, banco de dados e armazenamento da AWS.
Ver maisRight Arrow