

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

# Tipos de fila do Amazon SQS
<a name="sqs-queue-types"></a>

O Amazon SQS é compatível com dois tipos de fila: [**filas padrão**](standard-queues.md) e [**filas FIFO**](sqs-fifo-queues.md). Use a tabela a seguir para determinar qual fila melhor atende às suas necessidades.


| Filas padrão | Filas FIFO | 
| --- | --- | 
|  **Throughput ilimitado**: as filas padrão são compatíveis com um número muito alto e quase ilimitado de chamadas de API por segundo, por ação ([https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html), [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html)). Esse throughput alto as torna ideais para casos de uso que exigem o processamento rápido de grandes volumes de mensagens, como fluxo de dados em tempo real ou aplicações de grande escala. Embora as filas padrão sejam escaladas automaticamente de acordo com a demanda, é essencial monitorar os padrões de uso para garantir o desempenho ideal, especialmente em regiões com workloads mais altas. **At-least-once entrega — at-least-once Entrega** garantida, o que significa que cada mensagem é entregue pelo menos uma vez, mas em alguns casos, uma mensagem pode ser entregue mais de uma vez devido a novas tentativas ou atrasos na rede. Você deve projetar a aplicação para lidar com possíveis mensagens duplicadas usando operações idempotentes, que garantem que o processamento da mesma mensagem várias vezes não afete o estado do sistema. **Ordenação com melhor esforço**: isso significa que, embora o Amazon SQS tente entregar as mensagens na ordem em que foram enviadas, ele não garante isso. Em alguns casos, as mensagens podem chegar fora de ordem, principalmente em situações de throughput alto ou recuperação de falhas. Para aplicações em que a ordem do processamento das mensagens é crucial, você deve lidar com a lógica de reordenação dentro da aplicação ou usar filas FIFO para garantir uma ordenação estrita. **Durabilidade e redundância** — As filas padrão garantem alta durabilidade ao armazenar várias cópias de cada mensagem em várias AWS zonas de disponibilidade. Isso garante que as mensagens não sejam perdidas, mesmo em caso de falhas na infraestrutura. **Tempo limite de visibilidade**: o Amazon SQS permite configurar um tempo limite de visibilidade para controlar por quanto tempo uma mensagem permanece oculta após ser recebida, garantindo que outros consumidores não processem a mensagem até que ela tenha sido totalmente gerenciada ou que o tempo limite expire.  | **Throughput alto**: com o [agrupamento em lote](sqs-batch-api-actions.md), as filas FIFO processam até 3.000 mensagens por segundo, por método de API ([https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html), [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html) ou [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessageBatch.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessageBatch.html)). Esse throughput depende de 300 chamadas de API por segundo, em que cada uma processe um lote de 10 mensagens. Ao habilitar o modo de throughput alto, é possível aumentar a escala verticalmente para até 30 mil transações por segundo (TPS) com ordenação relaxada em grupos de mensagens. Sem o agrupamento em lote, as filas FIFO permitem até 300 chamadas de API por segundo, por método de API (`SendMessage`, `ReceiveMessage` ou `DeleteMessage`). Se precisar de mais throughput, solicite um aumento de cota no [AWS Support Center](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs). Consulte como habilitar o modo de throughput alto em [Habilitar throughput alto para filas FIFO no Amazon SQS](enable-high-throughput-fifo.md). **Processamento exatamente uma vez**: as filas FIFO entregam cada mensagem uma vez e a mantêm disponível até que ela seja processada e excluída. Ao usar recursos como [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) ou a desduplicação baseada em conteúdo, você evita mensagens duplicadas, mesmo em novas tentativas devido a problemas de rede ou tempo limite. **First-in-first-out entrega** — as filas FIFO garantem que você receba mensagens na ordem em que são enviadas em cada grupo de mensagens. Ao distribuir mensagens em vários grupos, você pode processá-las paralelamente, mantendo a ordem em cada grupo.  | 
|  ![\[Entrega de mensagens na fila padrão.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-what-is-sqs-standard-queue-diagram.png)  |  ![\[Entrega de mensagens na fila FIFO.\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-what-is-sqs-fifo-queue-diagram.png)  | 
| Use filas padrão para enviar dados entre aplicações quando o throughput for crucial, por exemplo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-types.html) |  Use filas FIFO para enviar dados entre aplicações quando a ordem dos eventos for importante, por exemplo: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-types.html)  | 

# Implementar sistemas de solicitação-resposta no Amazon SQS
<a name="implementing-request-response-systems"></a>

Ao implementar um sistema de solicitação-resposta ou chamada de procedimento remoto (RPC), lembre-se das seguintes melhores práticas:
+ **Crie filas de resposta na inicialização**: em vez de criar filas de resposta por mensagem, crie-as na inicialização, por produtor. Use um atributo de mensagem de ID de correlação para mapear respostas às solicitações de forma eficiente.
+ **Evite compartilhar filas de resposta entre produtores**: garanta que cada produtor tenha sua própria fila de respostas. Compartilhar filas de resposta pode fazer com que um produtor receba mensagens de resposta destinadas a outro.

Consulte mais informações sobre a implementação do padrão de solicitação-resposta usando o Temporary Queue Client em [Padrão de mensagens de resposta a solicitação (filas virtuais)](sqs-temporary-queues.md#request-reply-messaging-pattern).