Commit dwufazowy (2PC)
Protokół, w którym koordynator prosi każdą bazę o przygotowanie zmiany, a potem każe wszystkim ją zatwierdzić albo wszystkim wycofać.
Daje jedną atomową transakcję na kilku zasobach. Kosztem jest to, że uczestnicy trzymają blokady, czekając na koordynatora, awaria koordynatora może ich zablokować, a przepustowość spada z każdym kolejnym uczestnikiem. Większość brokerów wiadomości, API SaaS i wiele baz w chmurze w ogóle w nim nie uczestniczy, dlatego serwisy zwykle używają zamiast niego sag i outboxa.
Powiązane hasła
- Wzorzec saga: Proces biznesowy w kilku serwisach prowadzony jako łańcuch lokalnych transakcji, z akcją kompensującą, która cofa krok, gdy padnie któryś z kolejnych.
- Spójność ostateczna (eventual consistency): Gwarancja, że kopie danych zgodzą się ze sobą, gdy przestaną napływać zmiany, ale w międzyczasie mogą chwilowo pokazywać różne wartości.
- Wzorzec outbox (transactional outbox): Zapisanie zdarzenia w tabeli outbox w tej samej transakcji bazy co sama zmiana, a potem osobne opublikowanie go w brokerze.
