Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Mikroserwisy
Mikroserwisymedium

W sadze: co to jest akcja kompensująca i czemu jest trudna?

Tagi
#microservices#saga#compensation#consistency
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Akcja kompensująca to operacja biznesowa, która “odwraca” poprzedni krok (np. anuluj rezerwację, gdy płatność się nie powiedzie). To trudne, bo to nie jest prawdziwy rollback: może się nie udać, nie zawsze idealnie przywróci stan, i musi być idempotentne oraz dobrze obserwowalne.

Odpowiedź zaawansowana

Głębiej

Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:

  • Kontekst (tagi): microservices, saga, compensation, consistency
  • Skalowanie: co skaluje się poziomo, co pionowo, gdzie są bottlenecki.
  • Niezawodność: retry/circuit breaker/idempotencja, observability (logs/metrics/traces).
  • Ewolucja: jak utrzymać zmianę tanio (granice, kontrakty, testy).
  • Wytłumacz "dlaczego", nie tylko "co" (intuicja + konsekwencje).
  • Trade-offy: co zyskujesz i co tracisz (czas, pamięć, złożoność, ryzyko).
  • Edge-case’y: puste dane, duże dane, błędne dane, współbieżność.

Przykłady

Krótki przykład (szablon do wyjaśniania):

// Example: discuss trade-offs for "w-sadze:-co-to-jest-akcja-kompensująca-i-czemu-j"
function explain() {
  // Start from the core idea:
  // Akcja kompensująca to operacja biznesowa, która “odwraca” poprzedni krok (np. anuluj rezer
}

Typowe pułapki

  • Zbyt ogólna odpowiedź (brak konkretów, brak przykładów).
  • Brak rozróżnienia między "średnio" a "najgorzej" (np. złożoność).
  • Pomijanie ograniczeń: pamięć, współbieżność, koszty sieci/dysku.

Pytania uzupełniające na rozmowie

  • Kiedy zastosował(a)byś alternatywę i dlaczego?
  • Jakie są typowe problemy w produkcji i jak je diagnozować?
  • Jak byś przetestował(a) edge-case’y?

Powiązane pytania

Mikroserwisy
Propagacja kontekstu trace: co to jest nagłówek `traceparent` i czemu serwisy mają go przekazywać dalej?
#microservices#observability#tracing
Mikroserwisy
Kolejność w Kafka: jakie masz gwarancje i jak projektujesz pod kolejność?
#microservices#kafka#ordering
Mikroserwisy
Czemu synchroniczny fan-out (jeden request woła wiele serwisów) jest ryzykowny i jak to ograniczyć?
#microservices#fan-out#latency
Mikroserwisy
REST vs gRPC między serwisami: jakie są kluczowe trade-offy?
#microservices#grpc#rest
Mikroserwisy
BFF (Backend for Frontend): co to jest i kiedy pomaga?
#microservices#bff#api
Mikroserwisy
Mikroserwisy multi-region: jakie są główne korzyści i główne problemy?
#microservices#multi-region#availability