

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Comment fonctionnent les files d'attente Amazon SQS Fair
<a name="sqs-fair-queues-detailed"></a>

 Les files d'attente Amazon SQS Fair atténuent automatiquement l'impact sur les voisins bruyants dans les files d'attente multi-locataires en empêchant un seul locataire de ralentir le traitement des messages pour les autres locataires. Lorsque des files d'attente équitables détectent qu'un locataire utilise une part disproportionnée de la capacité de consommation de la file d'attente, elles donnent la priorité à la diffusion des messages provenant de locataires calmes. 

## Identification du locataire
<a name="sqs-fair-queues-tenant-identification"></a>

Des files d'attente équitables identifient les locataires par `MessageGroupId` établissement sur chaque message. Les messages qui partagent le même `MessageGroupId` contenu appartiennent au même locataire. Une file d'attente équitable peut contenir un mélange de messages avec et sans`MessageGroupId`. Chaque message sans un `MessageGroupId` est traité comme appartenant à son propre locataire distinct.

Nous vous recommandons de définir un `MessageGroupId` identifiant pour chaque message que vous envoyez à une file d'attente équitable, en utilisant un identifiant correspondant à une entité réelle de votre système, tel qu'un identifiant client, un identifiant d'application client ou un type de demande.

## Fonctionnement de la détection
<a name="sqs-fair-queues-detection"></a>

Amazon SQS détecte les voisins bruyants à l'aide de deux mesures :
+ **Partage simultané** : les messages en vol du locataire sont exprimés en fraction de tous les messages en vol de la file d'attente. Cela détecte les locataires dont de nombreux messages sont traités simultanément, que ce soit en raison d'un volume d'envoi élevé, d'un traitement lent ou des deux.
+ **Part du temps de traitement** : part récente du temps de traitement du client revenant au locataire. Cela permet de détecter les locataires dont les messages sont peu nombreux mais lents à traiter, ce qui leur fait perdre beaucoup de temps sans avoir à recevoir un grand nombre de messages en même temps.

Un locataire est considéré comme un voisin bruyant lorsque l'une des conditions suivantes est vraie :
+ **Part de simultanéité** : le locataire représente plus de 10 % des messages en cours de vol dans la file d'attente et a au moins 30 de ses propres messages en cours de vol.
+ **Part du temps de traitement** : la part récente du locataire dans le temps de traitement total du consommateur dépasse 10 %.

Amazon SQS étant un système distribué, ces seuils sont approximatifs et la détection peut ne pas être activée aux valeurs exactes décrites.

## Modification de l'ordre de livraison des messages
<a name="sqs-fair-queues-delivery-order"></a>

Une fois qu'un locataire est détecté comme étant un voisin bruyant, Amazon SQS donne la priorité à l'envoi de messages provenant de locataires silencieux. Les instances de consommateurs qui interrogent les messages reçoivent des messages de locataires silencieux chaque fois que des messages destinés aux locataires calmes sont disponibles. Cette priorisation se poursuit jusqu'à ce que la part de concurrence et la part de temps de traitement du voisin bruyant chutent à des niveaux comparables à ceux des locataires calmes.

Les messages voisins bruyants ne sont ni supprimés ni limités. Leur temps d'attente augmente tandis que les messages destinés aux locataires silencieux sont priorisés, et revient à la normale une fois leur arriéré résorbé. Lorsqu'aucun message émanant d'un locataire silencieux n'attend, les instances de consommateurs reçoivent des messages de voisinage bruyants, comme d'habitude.

Si plusieurs locataires sont détectés simultanément comme des voisins bruyants, les instances de consommateurs reçoivent en premier des messages du locataire bruyant ayant le moins de messages en cours de vol. Cela permet d'équilibrer le temps de traitement entre les locataires bruyants.

## Quand un voisin bruyant se tait
<a name="sqs-fair-queues-quiet-removal"></a>

Un locataire n'est plus considéré comme un voisin bruyant lorsque l'une des conditions suivantes est vraie :
+ Le carnet de commandes du locataire a été entièrement consommé.
+ Aucun message du locataire n'a été en vol pendant une période continue de 5 minutes.

Ensuite, les messages du locataire ne sont plus dépriorisés et sont traités de la même manière que les messages provenant de tout autre locataire silencieux.

## Considérations relatives aux capacités des consommateurs
<a name="sqs-fair-queues-consumer-capacity"></a>

Pour que la mesure du partage simultané fonctionne efficacement, vos clients doivent traiter suffisamment de messages simultanément pour que la part de messages en vol revenant à un locataire puisse se démarquer. Tenez-en compte lorsque vous dimensionnez votre parc de véhicules grand public.

Lorsque vous utilisez Lambda en tant que consommateur via le mappage des sources d'événements, le nombre de messages en cours de vol dépend à la fois de la simultanéité de la fonction Lambda et de la taille du lot. Évaluez ces paramètres ensemble lors du dimensionnement de vos clients.

Lorsque le nombre de messages en cours de vol est trop faible pour que le seuil de partage de simultanéité soit déclenché, la mesure du partage du temps de traitement peut toujours détecter les voisins bruyants. Cependant, les files d'attente équitables fonctionnent mieux lorsque les consommateurs traitent suffisamment de messages simultanément pour que les deux mesures soient évaluées.