Een website met veel verkeer draait op EC2 en gebruikt Kinesis Data Streams om weblocs te verzamelen. De Kinesis consumer-app, ook op EC2, raakt achterop wanneer er pieken in de data zijn en records worden gedropt. Welke oplossing verbetert de verwerking van de stream met de minste operationele overhead?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Schaal de Kinesis consumer horizontaal door EC2-instances toe te voegen op basis van de CloudWatch GetRecords.IteratorAgeMilliseconds-metric en verhoog de retentieperiode van de Kinesis-stream..
Waarom dit het antwoord is
De correcte optie pakt zowel de verwerkingsachterstand als het risico op dataverlies aan. Het horizontaal schalen van de EC2-instances van de consumer-app op basis van GetRecords.IteratorAgeMilliseconds zorgt ervoor dat de verwerkingscapaciteit meegroeit met pieken in de data, waardoor de achterstand wordt verminderd. Het verhogen van de retentieperiode van de Kinesis-stream biedt een grotere buffer, zodat de consumer-app meer tijd heeft om achterstanden in te halen voordat records verlopen. De andere opties zijn minder optimaal: Het opslaan in S3 en verwerken met EMR is een batchverwerkingsoplossing, niet geschikt voor real-time verwerking en introduceert extra complexiteit. Migreren naar Lambda kan een oplossing zijn, maar vereist mogelijk significante refactoring en kan beperkingen hebben qua doorvoer en uitvoeringstijd, wat operationele overhead kan verhogen. Meer shards toevoegen aan de Kinesis-stream verhoogt de doorvoer van de stream, maar lost het probleem van een ondergedimensioneerde consumer-app niet op; de consumer zal nog steeds achterlopen.
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