Leksykon IT › Bazy danych › Kompensacja sagi

Kompensacja sagi

Bazy danych Svenska → Zaktualizowano: 2026-10-07

Wzorzec cofania wieloetapowej, rozproszonej transakcji („sagi”) przez uruchamianie jawnych akcji kompensujących dla każdego już wykonanego kroku — zamiast wycofania w bazie danych. Zwykły sposób utrzymania spójności danych między mikroserwisami bez transakcji rozproszonych.

Problem: operacja obejmująca kilka usług (rezerwacja lotu, hotelu i samochodu) nie może użyć jednej transakcji bazodanowej ani 2PC (usługi mają własne bazy, a 2PC słabo się skaluje). Saga dzieli ją na transakcje lokalne w każdej usłudze; jeśli późniejszy krok zawiedzie, uruchamiają się transakcje kompensujące, które „cofają” wcześniejsze (anulowanie hotelu, zwrot za lot). Uwaga: kompensacja jest semantyczna, a nie dokładnym wycofaniem — pieniądze się zwraca, czasu nie da się cofnąć. Dwa style: choreografia (usługi reagują na swoje zdarzenia) lub orkiestracja (prowadzi centralny koordynator). Kompensacje muszą być idempotentne. Fundament architektury mikroserwisów. Spokrewniona z transakcją rozproszoną i punktem zapisu.

← Wróć do leksykonu