Architektura
Expert
Distributed Transactions — přehled
Jak řešit transakce napříč mikroservisami. 2PC, Saga, Outbox pattern a TCC.
2PC
Two-Phase Commit: blokující, pomalý, coordinator = SPOF. V mikroservisách se nepoužívá.
Outbox Pattern
BEGIN;
INSERT INTO orders (id, total) VALUES ('ord-1', 1000);
INSERT INTO outbox (aggregate_type, payload) VALUES (
'Order', '{"type": "OrderCreated", "orderId": "ord-1"}'
);
COMMIT;
-- Debezium CDC čte outbox a publishuje eventy
Saga vs TCC
- Saga — sekvence lokálních transakcí + kompenzace
- TCC (Try-Confirm-Cancel) — rezervace → potvrzení/zrušení
Shrnutí
Saga je nejčastější volba, Outbox řeší reliable messaging. 2PC se v mikroservisách vyhýbejte.
Potřebujete pomoct s implementací?
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.
Nezávazná konzultace