Starsza aplikacja została zmigrowana do funkcji Lambda, która wykonuje wiele wywołań API stron trzecich w celu pobrania danych na koniec miesiąca, a następnie przetwarza je w celu generowania raportów miesięcznych. Dostawca zewnętrzny wprowadził limity: stałą liczbę wywołań API na minutę i na dzień (podaną w nagłówkach odpowiedzi), zwracając błędy, gdy limity zostaną przekroczone. Całe przetwarzanie danych może teraz trwać dni, jeśli aplikacja musi ograniczać przepustowość, aby uniknąć przekroczenia limitów. Jaki jest najbardziej efektywny operacyjnie sposób refaktoryzacji tego bezserwerowego przepływu pracy, aby uwzględnić te limity?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Użyj maszyny stanów AWS Step Functions do orkiestracji wywołań. Gdy błędy wskazują na limity szybkości, użyj stanu Wait, aby opóźnić dalsze wywołania przed ponowną próbą..
Dlaczego to jest odpowiedź
Poprawna odpowiedź to użycie AWS Step Functions ze stanem Wait. Step Functions są idealne do orkiestracji złożonych przepływów pracy, takich jak ten, gdzie wymagane jest zarządzanie limitami API. Stan Wait pozwala na wstrzymanie wykonania przepływu pracy na określony czas lub do momentu spełnienia warunku, co jest kluczowe do przestrzegania limitów szybkości API. Gdy wystąpi błąd związany z limitem, Step Functions mogą wstrzymać dalsze wywołania, a następnie wznowić je po upływie odpowiedniego czasu, efektywnie zarządzając przepustowością bez konieczności skomplikowanej logiki w kodzie Lambda. Pozostałe opcje są mniej efektywne operacyjnie lub nieodpowiednie: Wysyłanie zadań do kolejki SQS i odpytywanie jej przez Lambdę wymagałoby dodatkowej logiki do zarządzania szybkością odpytywania i nie oferuje tak elastycznego zarządzania stanem jak Step Functions. Metryki CloudWatch Logs i alarmy CloudWatch mogłyby zatrzymać funkcję Lambda, ale nie zapewniłyby mechanizmu do automatycznego wznowienia pracy po upływie limitu, co jest nieefektywne. Amazon Kinesis Data Firehose służy do gromadzenia i dostarczania danych strumieniowych, a nie do orkiestracji wywołań API z zarządzaniem limitami szybkości.
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