

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

# Como funcionam as filas justas do Amazon SQS
<a name="sqs-fair-queues-detailed"></a>

 As filas justas do Amazon SQS mitigam automaticamente o impacto de vizinhos ruidosos em filas de vários locatários, impedindo que um único inquilino diminua a velocidade do processamento de mensagens para outros inquilinos. Quando as filas justas detectam que um inquilino está usando uma parcela desproporcional da capacidade de consumo da fila, elas priorizam a entrega de mensagens de inquilinos silenciosos. 

## Identificação do inquilino
<a name="sqs-fair-queues-tenant-identification"></a>

As filas justas identificam os inquilinos pela `MessageGroupId` propriedade em cada mensagem. As mensagens que compartilham o mesmo `MessageGroupId` pertencem ao mesmo inquilino. Uma fila justa pode conter uma mistura de mensagens com e sem um`MessageGroupId`. Cada mensagem sem um `MessageGroupId` é tratada como pertencente a seu próprio inquilino distinto.

Recomendamos definir um `MessageGroupId` para cada mensagem que você envia para uma fila justa, usando um identificador mapeado para uma entidade real em seu sistema, como ID do cliente, ID do aplicativo do cliente ou tipo de solicitação.

## Como funciona a detecção
<a name="sqs-fair-queues-detection"></a>

O Amazon SQS detecta vizinhos barulhentos usando duas medidas:
+ **Compartilhamento simultâneo** — as mensagens de bordo do inquilino como uma fração de todas as mensagens de bordo na fila. Isso detecta locatários com muitas mensagens sendo processadas ao mesmo tempo, seja devido ao alto volume de envio, processamento lento ou ambos.
+ **Compartilhamento do tempo de processamento** — a participação recente do inquilino no tempo total de processamento do consumidor. Isso detecta inquilinos cujas mensagens são poucas, mas demoram a ser processadas, de modo que o inquilino ocupa um tempo significativo do consumidor sem ter muitas mensagens enviadas ao mesmo tempo.

Um inquilino é marcado como vizinho barulhento quando uma das seguintes situações é verdadeira:
+ **Compartilhamento simultâneo**: o locatário responde por mais de 10% das mensagens em voo na fila e tem pelo menos 30 mensagens próprias em andamento.
+ **Compartilhamento do tempo de processamento**: a participação recente do inquilino no tempo total de processamento do consumidor excede 10%.

Como o Amazon SQS é um sistema distribuído, esses limites são aproximados e a detecção pode não ser ativada nos valores exatos descritos.

## Como a ordem de entrega de mensagens muda
<a name="sqs-fair-queues-delivery-order"></a>

Quando um inquilino é detectado como um vizinho barulhento, o Amazon SQS prioriza a entrega de mensagens de inquilinos silenciosos. As instâncias de consumidores que pesquisam mensagens recebem mensagens de inquilinos silenciosos sempre que mensagens de inquilinos silenciosos estão disponíveis. Essa priorização continua até que o compartilhamento de simultaneidade e o compartilhamento de tempo de processamento do vizinho barulhento caiam para níveis comparáveis aos de inquilinos silenciosos.

Mensagens ruidosas de vizinhos não são descartadas ou limitadas. Seu tempo de permanência aumenta enquanto as mensagens silenciosas dos inquilinos são priorizadas e voltam ao normal quando a lista de pendências é eliminada. Quando nenhuma mensagem silenciosa do inquilino está esperando, as instâncias consumidoras recebem mensagens ruidosas do vizinho, como de costume.

Se vários inquilinos forem detectados como vizinhos barulhentos simultaneamente, as instâncias do consumidor receberão mensagens do inquilino barulhento com o menor número de mensagens em voo primeiro. Isso ajuda a equilibrar o tempo de processamento entre inquilinos barulhentos.

## Quando um vizinho barulhento fica quieto
<a name="sqs-fair-queues-quiet-removal"></a>

Um inquilino não é mais tratado como um vizinho barulhento quando uma das seguintes afirmações é verdadeira:
+ A lista de pendências do inquilino foi totalmente consumida.
+ Nenhuma mensagem do inquilino foi enviada por um período contínuo de 5 minutos.

Depois disso, as mensagens do inquilino não são mais despriorizadas e são tratadas da mesma forma que as mensagens de qualquer outro inquilino silencioso.

## Considerações sobre a capacidade do consumidor
<a name="sqs-fair-queues-consumer-capacity"></a>

Para que a medida de compartilhamento de simultaneidade funcione de forma eficaz, seus consumidores precisam processar mensagens suficientes simultaneamente para que a parcela de mensagens em voo de um inquilino possa se destacar. Leve isso em consideração ao dimensionar sua frota de consumidores.

Ao usar o Lambda como consumidor por meio do mapeamento da fonte de eventos, o número de mensagens em trânsito depende da simultaneidade da função Lambda e do tamanho do lote. Avalie essas configurações em conjunto ao dimensionar seus consumidores.

Quando o número de mensagens em trânsito é muito baixo para que o limite de compartilhamento de simultaneidade seja acionado, a medida de compartilhamento do tempo de processamento ainda pode detectar vizinhos ruidosos. No entanto, filas justas funcionam melhor quando os consumidores processam mensagens suficientes simultaneamente para que ambas as medidas sejam avaliadas.