Architekt systemów IT — Praca krok po kroku
Zaginęła odpowiedź przewoźnika
Praca krok po kroku · Lekcja 4 z 9
Granice odpowiedzialności
Wskaż system będący źródłem danych i kontrakt integracji. Określ zachowanie podczas przerwy połączenia. Jeżeli żądanie można ponowić, zaprojektuj rozpoznawanie tej samej operacji.
- Co zrobić najpierwUstal kontrakt integracji
- Co zrobić dalejGranice odpowiedzialności
- Jak zakończyćSprawdź odpowiedź i wyjaśnij swój wybór
Ustal kontrakt integracji
Wskaż właściciela danych i odpowiedzialność systemów. Zaplanuj timeout, skończoną liczbę ponowień i identyfikator operacji.
Ćwiczenie praktyczne
Rozpisz zachowanie systemu zamówień, gdy dostawca wysyłki odpowie z opóźnieniem.
Zaginęła odpowiedź przewoźnika
Podejmij decyzję
Wróć do notatki z początku sprawy. Zapisz pierwsze działanie i wyjaśnij, jak pomoże rozwiązać sytuację.
Pokaż przykładową reakcję
Sprawdź status po identyfikatorze i opisz warunek ponowienia operacji. Zespół potrafi odzyskać wynik i ograniczyć ryzyko dwóch zleceń.
Sprawdź się — opcjonalne pytanie
Co pomaga uniknąć podwójnej operacji przy ponowieniu?
- Stabilny identyfikator operacji
- Nowy losowy identyfikator dla każdego sprawdzenia
- Dłuższa nazwa endpointu
Pokaż odpowiedź i wyjaśnienie
Stabilny identyfikator operacji. Wspólny identyfikator pozwala odbiorcy rozpoznać powtórzenie tej samej operacji.
Praca krok po kroku · Lekcja 5 z 9
Timeout i powtórzenia w integracji
Timeout ogranicza czas oczekiwania, lecz nie określa, czy druga strona wykonała operację. Ponawiaj przejściowe błędy z limitem i uwzględnij idempotencję. Ostateczny stan powinien dać się sprawdzić.
- Co zrobić najpierwTimeout
- Co zrobić dalejSprawdzenie lub ograniczone ponowienie
- Jak zakończyćStan końcowy
Przykład z pracy
Przewoźnik przyjął przesyłkę, ale odpowiedź zaginęła. Ponowienie z identycznym identyfikatorem pozwala rozpoznać wykonane zlecenie.
Ćwiczenie praktyczne
Rozpisz warianty odpowiedzi dla powodzenia, błędu przejściowego i nieznanego wyniku.
Sprawdź się — opcjonalne pytanie
Co jest prawdą po przekroczeniu czasu oczekiwania?
- Wynik operacji może być nieznany
- Operacja na pewno się nie wykonała
- Można bezwarunkowo ponawiać bez limitu
Pokaż odpowiedź i wyjaśnienie
Wynik operacji może być nieznany. Odpowiedź mogła zaginąć już po wykonaniu operacji po stronie dostawcy.
Praca krok po kroku · Lekcja 6 z 9
Kolejka i nadmiar pracy
Kolejka oddziela tempo przyjmowania od tempa obsługi. Obserwuj wielkość zaległości i wiek najstarszego zadania. Z góry określ zachowanie, gdy zadanie wielokrotnie nie daje się przetworzyć.
- Co zrobić najpierwWejście
- Co zrobić dalejBufor i konsument
- Jak zakończyćZaległość i wiek
Przykład z pracy
Przy promocji wpływa 2000 zgłoszeń na minutę, a pracownik kolejki obsługuje 1000. Zaległość rośnie, więc należy ustalić limity, czas oczekiwania i reakcję operacyjną.
Ćwiczenie praktyczne
Zaproponuj mierniki dla kolejki wysyłek oraz próg eskalacji z krótkim uzasadnieniem.
Sprawdź się — opcjonalne pytanie
Co poza liczbą zadań ujawnia opóźnienie kolejki?
- Długość nazwy kolejki
- Wiek najstarszego nieobsłużonego zadania
- Liczba kolorów w panelu
Pokaż odpowiedź i wyjaśnienie
Wiek najstarszego nieobsłużonego zadania. Mała kolejka może wciąż zawierać zadanie zablokowane od dawna.