Un développeur a créé un microservice qui utilise AWS Lambda pour traiter les messages d'une file d'attente standard Amazon SQS. La fonction Lambda enrichit chaque message SQS en appelant des API externes, puis écrit les données dans une table Amazon Redshift. La file d'attente doit prendre en charge jusqu'à 1 000 messages par seconde. Pendant les tests, des lignes en double ont été insérées à plusieurs reprises dans la table Redshift car des messages SQS en double étaient traités ; tous les messages en double ont été mis en file d'attente à moins d'une minute d'intervalle. Comment le développeur doit-il résoudre ce problème ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Passer à une file d'attente SQS FIFO et activer la déduplication des messages sur cette file d'attente FIFO..
Pourquoi c'est la réponse
La bonne réponse est de passer à une file d'attente SQS FIFO et d'activer la déduplication des messages. Les files d'attente SQS FIFO (First-In, First-Out) garantissent que les messages sont traités une seule fois, dans l'ordre exact où ils sont envoyés, et prennent en charge la déduplication des messages. L'activation de la déduplication empêche le traitement de messages en double dans la fenêtre de déduplication (généralement 5 minutes), ce qui résout le problème des insertions en double dans Redshift. Diminuer la concurrence maximale de la fonction Lambda ne résoudrait pas le problème des messages en double, mais pourrait ralentir le traitement. L'utilisation du stockage local temporaire de Lambda (/tmp) n'est pas une solution durable pour le suivi des messages traités, car il est éphémère et ne serait pas partagé entre les invocations de Lambda. Attribuer un ID de groupe de messages à chaque message n'est pertinent que pour les files d'attente FIFO et ne résoudrait pas la déduplication sans passer à une file d'attente FIFO.
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