Witryna e-commerce korzysta z funkcji Lambda, która zapisuje zamówienia do bazy danych Amazon RDS for MySQL. Usługa musi natychmiast zwracać potwierdzenia zamówień. Podczas szczytu marketingowego zespół operacyjny zaobserwował błędy „too many connections” z RDS, mimo że metryki klastra DB wskazywały na zdrowy stan CPU i pamięci. Co powinien zrobić programista, aby naprawić błędy połączenia?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Otwórz połączenie z bazą danych poza handlerem Lambda. Użyj Amazon RDS Proxy zamiast bezpośredniego łączenia się funkcji Lambda z bazą danych..
Dlaczego to jest odpowiedź
Poprawna odpowiedź to otwarcie połączenia z bazą danych poza handlerem Lambda i użycie Amazon RDS Proxy. Otwieranie połączenia poza handlerem pozwala na ponowne wykorzystanie istniejących połączeń przez kolejne wywołania funkcji Lambda, redukując narzut związany z nawiązywaniem nowych połączeń. Amazon RDS Proxy jest kluczowe, ponieważ zarządza pulą połączeń do bazy danych, efektywnie multiplexując połączenia z wielu funkcji Lambda do mniejszej liczby połączeń z bazą danych, co zapobiega błędom "too many connections". Pozostałe opcje są mniej skuteczne lub błędne: Zwiększenie maxuserconnections może tymczasowo pomóc, ale nie rozwiązuje problemu dużej liczby krótkotrwałych połączeń z Lambdy i może prowadzić do przeciążenia bazy danych. Użycie kolejek SQS FIFO do buforowania zamówień jest dobrym rozwiązaniem dla asynchronicznego przetwarzania, ale problemem jest natychmiastowe zwracanie potwierdzeń zamówień, co wymaga synchronicznego zapisu. Ponadto, ustawianie współbieżności Lambdy na podstawie liczby połączeń jest trudne do zarządzania i nie skaluje się efektywnie.
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