Een bedrijf draait een applicatie op meerdere Amazon EC2-instances die berichten verwerkt vanuit een Amazon SQS-wachtrij, naar een Amazon RDS-tabel schrijft en vervolgens het bericht uit de wachtrij verwijdert. Er verschijnen af en toe dubbele records in de RDS-tabel, hoewel de SQS-wachtrij geen dubbele berichten bevat. Wat moet een solutions architect doen om ervoor te zorgen dat berichten slechts één keer worden verwerkt?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Gebruik de ChangeMessageVisibility API call om de visibility timeout te verhogen..
Waarom dit het antwoord is
De correcte optie is om de visibility timeout te verhogen met de ChangeMessageVisibility API call. Dit komt omdat dubbele records in de RDS-tabel, ondanks een SQS-wachtrij zonder dubbele berichten, vaak ontstaan wanneer een bericht door meerdere EC2-instances wordt verwerkt. Dit gebeurt als een instance een bericht ontvangt, maar het niet binnen de visibility timeout kan verwerken en verwijderen. Het bericht wordt dan weer zichtbaar voor andere instances, die het opnieuw kunnen verwerken. Door de visibility timeout te verhogen, krijgt de verwerkende instance voldoende tijd om het bericht te verwerken en te verwijderen, waardoor dubbele verwerking wordt voorkomen. De andere opties zijn niet correct: Het aanmaken van een nieuwe wachtrij (CreateQueue) lost het probleem van dubbele verwerking niet op. Het toevoegen van permissies (AddPermission) heeft geen invloed op de logica van berichtverwerking en dubbele records. Het instellen van een wachttijd bij ReceiveMessage (long polling) vermindert het aantal lege antwoorden, maar voorkomt geen dubbele verwerking als de visibility timeout te kort is.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig