Deweloper stworzył mikroserwis, który używa AWS Lambda do przetwarzania wiadomości ze standardowej kolejki Amazon SQS. Funkcja Lambda wzbogaca każdą wiadomość SQS, wywołując zewnętrzne API, a następnie zapisuje dane do tabeli Amazon Redshift. Kolejka musi obsługiwać do 1000 wiadomości na sekundę. Podczas testów, do tabeli Redshift wielokrotnie wstawiano zduplikowane wiersze, ponieważ przetwarzano zduplikowane wiadomości SQS; wszystkie zduplikowane wiadomości zostały dodane do kolejki w ciągu 1 minuty od siebie. Jak deweloper powinien rozwiązać ten problem?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Przełączyć się na kolejkę SQS FIFO i włączyć deduplikację wiadomości w tej kolejce FIFO..
Dlaczego to jest odpowiedź
Poprawna odpowiedź to przełączenie się na kolejkę SQS FIFO i włączenie deduplikacji wiadomości. Kolejki SQS FIFO (First-In-First-Out) gwarantują unikalność wiadomości i ich kolejność, co jest kluczowe w tym scenariuszu. Włączenie deduplikacji wiadomości w kolejce FIFO zapobiega wielokrotnemu przetwarzaniu tych samych wiadomości w określonym oknie czasowym (domyślnie 5 minut), co eliminuje problem duplikatów w Redshift. Zmniejszenie współbieżności Lambdy nie rozwiązuje problemu duplikatów, a jedynie spowalnia przetwarzanie. Używanie pamięci lokalnej /tmp w Lambdzie jest nieefektywne i zawodne, ponieważ stan ten nie jest współdzielony między instancjami funkcji i jest efemeryczny. Standardowe kolejki SQS nie obsługują deduplikacji wiadomości, nawet z identyfikatorem grupy wiadomości, który służy do grupowania wiadomości w celu zachowania kolejności w ramach grupy, a nie do deduplikacji.
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