Une entreprise exécute une application sur plusieurs instances Amazon EC2 qui traite les messages d'une file d'attente Amazon SQS, écrit dans une table Amazon RDS, puis supprime le message de la file d'attente. Des enregistrements en double apparaissent occasionnellement dans la table RDS, même si la file d'attente SQS ne contient pas de messages en double. Que doit faire un architecte de solutions pour s'assurer que les messages ne sont traités qu'une seule fois ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Utiliser l'appel d'API ChangeMessageVisibility pour augmenter le délai de visibilité..
Pourquoi c'est la réponse
Le problème des enregistrements en double dans la table RDS, malgré l'absence de messages en double dans la file d'attente SQS, indique que plusieurs instances EC2 traitent le même message SQS. Cela se produit généralement lorsque le délai de visibilité d'un message est trop court. Si une instance EC2 lit un message mais ne le supprime pas de la file d'attente avant l'expiration du délai de visibilité, le message redevient visible et une autre instance peut le traiter à nouveau, entraînant des doublons. L'appel d'API ChangeMessageVisibility permet d'augmenter le délai de visibilité d'un message spécifique. En augmentant ce délai, l'instance EC2 dispose de plus de temps pour traiter le message et le supprimer de la file d'attente avant qu'il ne redevienne visible pour d'autres consommateurs. Les autres options sont incorrectes : CreateQueue crée une nouvelle file d'attente, ce qui ne résout pas le problème des doublons de traitement. AddPermission gère les autorisations d'accès, sans rapport avec le traitement des messages en double. ReceiveMessage avec un temps d'attente approprié (long polling) permet de réduire le nombre d'appels à l'API et la latence, mais n'empêche pas le traitement en double si le délai de visibilité est trop court.
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise