Sprawdź zawód
Lekcje kursu · Praca krok po kroku

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.

Tok pracy w tej lekcji
  1. Co zrobić najpierwUstal kontrakt integracji
  2. Co zrobić dalejGranice odpowiedzialności
  3. 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ć.

Tok pracy w tej lekcji
  1. Co zrobić najpierwTimeout
  2. Co zrobić dalejSprawdzenie lub ograniczone ponowienie
  3. 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ć.

Tok pracy w tej lekcji
  1. Co zrobić najpierwWejście
  2. Co zrobić dalejBufor i konsument
  3. 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.