

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á.

# O que é o Amazon Simple Queue Service?
<a name="welcome"></a>

O Amazon Simple Queue Service (Amazon SQS) oferece uma fila hospedada segura, durável e disponível que permite integrar e desacoplar sistemas de software e componentes distribuídos. O Amazon SQS oferece constructos comuns, como [filas de mensagens mortas](sqs-dead-letter-queues.md) e [tags de alocação de custos](sqs-queue-tags.md). Ele fornece uma API genérica de serviços da Web que você pode acessar usando qualquer linguagem de programação compatível com o AWS SDK.

## Benefícios do uso do Amazon SQS
<a name="sqs-benefits"></a>
+ **Segurança**: [você controla](security-iam.md) quem pode enviar e receber mensagens em uma fila do Amazon SQS. Você pode optar pela transmissão de dados sigilosos protegendo o conteúdo das mensagens em filas por meio da criptografia do lado do servidor (SSE) gerenciada pelo Amazon SQS ou das chaves de [SSE](sqs-server-side-encryption.md) gerenciadas no AWS Key Management Service (AWS KMS).
+ **Durabilidade**: para garantir a segurança de suas mensagens, o Amazon SQS as armazena em vários servidores. [As filas padrão oferecem suporte à [entrega de at-least-once mensagens](standard-queues-at-least-once-delivery.md), e as filas FIFO oferecem suporte ao processamento de mensagens [exatamente uma vez e ao modo de alto rendimento](FIFO-queues-exactly-once-processing.md).](high-throughput-fifo.md)
+ **Disponibilidade**: o Amazon SQS usa [infraestrutura redundante](#sqs-basic-architecture) para fornecer acesso altamente simultâneo às mensagens, além de alta disponibilidade para produzir e consumir mensagens. 
+ **Escalabilidade**: o Amazon SQS pode processar cada [solicitação em buffer](sqs-client-side-buffering-request-batching.md) de forma independente, escalando de forma transparente para lidar com qualquer aumento ou pico de carga sem nenhuma instrução de provisionamento.
+ **Confiabilidade**: o Amazon SQS bloqueia suas mensagens durante o processamento, para que vários produtores possam enviar, e vários consumidores possam receber, mensagens ao mesmo tempo. 
+ **Personalização**: suas filas não precisam ser exatamente iguais. [Você pode definir um atraso padrão em uma fila](sqs-delay-queues.md), por exemplo. Você pode armazenar o conteúdo de mensagens maiores que 1 MiB [usando o Amazon Simple Storage Service (Amazon S3)](sqs-s3-messages.md) ou o Amazon DynamoDB, com o Amazon SQS mantendo um ponteiro no objeto do Amazon S3, ou pode dividir uma mensagem grande em mensagens menores.

## Arquitetura básica do Amazon SQS
<a name="sqs-basic-architecture"></a>

   Saiba mais sobre as partes de um sistema de mensagens distribuído e o ciclo de vida de uma mensagem do Amazon SQS, da criação à exclusão.   

Esta seção descreve os componentes de um sistema de mensagens distribuído e explica o ciclo de vida de uma mensagem do Amazon SQS.

### Filas distribuídas
<a name="sqs-distributed-queue"></a>

Há três partes principais em um sistema de mensagens distribuído: os **componentes do sistema distribuído**, a **fila** (distribuída em servidores do Amazon SQS) e as **mensagens na fila**.

No cenário a seguir, o sistema tem vários *produtores* (componentes que enviam mensagens para a fila) e *consumidores* (componentes que recebem mensagens da fila). A fila (que contém as mensagens A a E) armazena as mensagens de forma redundante em vários servidores do Amazon SQS.

![\[Três partes principais em um sistema de mensagens distribuído: os componentes do sistema distribuído, a fila (distribuída em servidores do Amazon SQS) e as mensagens na fila.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/ArchOverview.png)


### Ciclo de vida de mensagens
<a name="sqs-message-lifecycle"></a>

O cenário a seguir descreve o ciclo de vida de uma mensagem do Amazon SQS em uma fila, da criação à exclusão.

![\[O ciclo de vida de uma mensagem do Amazon SQS em uma fila, da criação à exclusão.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-message-lifecycle-diagram.png)


![\[Section one description for the previous lifecycle diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-1-red.png) Um produtor (componente 1) envia a mensagem A para uma fila, e a mensagem é distribuída pelos servidores do Amazon SQS de forma redundante.

![\[Section two description for the previous lifecycle diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-2-red.png) Quando um consumidor (componente 2) está pronto para processar mensagens, ele consume as mensagens da fila, e a mensagem A é devolvida. Enquanto a mensagem A está sendo processada, ela permanece na fila e não é devolvida para as solicitações de recebimento subsequentes durante todo o [tempo limite de visibilidade](sqs-visibility-timeout.md).

![\[Section three description for the previous lifecycle diagram.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/number-3-red.png) O consumidor (componente 2) exclui a mensagem A da fila para impedir que a mensagem seja recebida e processada novamente quando o tempo limite de visibilidade for esgotado.

**nota**  
O Amazon SQS exclui automaticamente as mensagens que estiverem em uma fila por mais tempo que o período de retenção máximo de mensagens. O período de retenção de mensagens padrão é de quatro dias. No entanto, você pode configurar o período de retenção de mensagens em um valor de 60 segundos a 1.209.600 segundos (14 dias) usando a ação `[SetQueueAttributes](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html)`

## Diferenças entre o Amazon SQS, Amazon MQ e Amazon SNS
<a name="sqs-difference-from-amazon-mq-sns"></a>

 O Amazon SQS, o [Amazon SNS](https://aws.amazon.com/sns/) e o [Amazon MQ](https://aws.amazon.com/amazon-mq/) oferecem serviços de mensagens altamente escaláveis easy-to-use e gerenciados, cada um projetado para funções específicas em sistemas distribuídos. Veja abaixo uma visão geral aprimorada das diferenças entre esses serviços:

 O **Amazon SQS** desacopla e escala sistemas e componentes de software distribuídos como um serviço de fila. Normalmente, ele processa mensagens por meio de um único assinante, ideal para fluxos de trabalho em que a ordem e a prevenção de perdas é fundamental. Para uma distribuição mais ampla, a integração do Amazon SQS com o Amazon SNS permite um [padrão de mensagens de fanout](https://aws.amazon.com/getting-started/hands-on/send-fanout-event-notifications/), enviando mensagens de forma eficaz para vários assinantes ao mesmo tempo.

 O **Amazon SNS** permite que os publicadores enviem mensagens a vários assinantes por meio de tópicos, que servem como canais de comunicação. Os assinantes recebem mensagens publicadas usando um tipo de endpoint compatível, como [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html), [Amazon SQS](#welcome), [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html), HTTP, e-mail, notificações por push em dispositivos móveis e mensagens de texto em dispositivos móveis (SMS). Esse serviço é ideal para cenários que exigem notificações imediatas, como engajamento de usuários em tempo real ou sistemas de alarme. Para evitar a perda de mensagens quando os assinantes estão offline, a integração do Amazon SNS com as mensagens de fila do Amazon SQS garante uma entrega consistente.

 O **Amazon MQ** é ideal para empresas que desejam migrar de agentes de mensagens tradicionais, oferecendo suporte a protocolos de mensagens padrão, como AMQP e MQTT, com o [Apache ActiveMQ](http://activemq.apache.org/) e o [RabbitMQ](https://www.rabbitmq.com/). Ele oferece compatibilidade com sistemas legados que precisam de mensagens estáveis e confiáveis sem reconfiguração significativa.

 O seguinte gráfico fornece uma visão geral dos tipos de recurso de cada serviço: 


| Tipo de atributo | Amazon SNS | Amazon SQS | Amazon MQ | 
| --- | --- | --- | --- | 
| Síncrona | Não | Não | Sim | 
| Assíncrona | Sim | Sim | Sim | 
| Queues (Filas) | Não | Sim | Sim | 
| Sistema de publicador e assinante de mensagens | Sim | Não | Sim | 
| Agente de mensagens | Não | Não | Sim | 

Tanto o Amazon SQS quanto o Amazon SNS são recomendados para novos aplicativos que podem se beneficiar de uma escalabilidade quase ilimitada e simples. APIs Eles geralmente oferecem soluções mais econômicas para aplicações de alto volume com seus preços. pay-as-you-go Recomendamos o Amazon MQ para migrar aplicativos de agentes de mensagens existentes que dependem da compatibilidade com JMS ou protocolos APIs como Advanced Message Queuing Protocol (AMQP), MQTT e Simple Text Oriented Message Protocol (STOMP). OpenWire