Witryna internetowa o dużym ruchu działa na EC2 i używa Kinesis Data Streams do zbierania logów internetowych. Aplikacja konsumencka Kinesis, również na EC2, pozostaje w tyle, gdy dane gwałtownie rosną, a rekordy są porzucane. Które rozwiązanie poprawia obsługę strumienia przy najmniejszym narzucie operacyjnym?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Skaluj konsumenta Kinesis horyzontalnie, dodając instancje EC2 w oparciu o metrykę CloudWatch GetRecords.IteratorAgeMilliseconds i zwiększ okres przechowywania strumienia Kinesis..
Dlaczego to jest odpowiedź
Prawidłowa odpowiedź rozwiązuje problem zaległości i porzucania rekordów przy minimalnym narzucie operacyjnym. Skalowanie horyzontalne konsumenta EC2 w oparciu o GetRecords.IteratorAgeMilliseconds (która wskazuje, jak daleko w tyle jest konsument) zapewnia, że moc obliczeniowa przetwarzania danych rośnie wraz z obciążeniem. Zwiększenie okresu przechowywania strumienia Kinesis zapobiega utracie rekordów, jeśli konsument nie nadąża przez dłuższy czas. Modyfikacja konsumenta w celu trwałego przechowywania logów w S3, a następnie użycie EMR, wprowadza dodatkową złożoność i opóźnienia, nie rozwiązując bezpośrednio problemu zaległości w czasie rzeczywistym. Migracja do AWS Lambda może być dobrym rozwiązaniem, ale wymaga przepisania kodu i zarządzania nowym modelem bezserwerowym, co jest większym narzutem operacyjnym niż skalowanie istniejącego rozwiązania EC2. Dodanie większej liczby shardów do strumienia Kinesis zwiększa przepustowość wejściową, ale nie rozwiązuje problemu, jeśli aplikacja konsumencka nie jest w stanie przetwarzać danych wystarczająco szybko.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana