2.Distributed Transactions
Distributed Systems · 13 notes
- 2. Distributed Transactionshistorical
Why transactions become harder across services and data stores, and how 2PC, TCC, Saga, reliable messaging, reconciliation, and best-effort notification address different consistency requirements.
- 2.1 Two-Phase Commit (2PC)historical
How two-phase commit coordinates atomic commit across transactional resources, and why blocking, coordinator failure, and long-held resources are its main costs.
- 2.2 TCC: Try, Confirm, Cancelhistorical
Application-level distributed transactions using Try, Confirm, and Cancel operations, including reservations, compensation, retries, idempotency, and business-code cost.
- 2.3 Reliable Messaging and Eventual Consistencyhistorical
How a durable business change and a durable outgoing message are coupled so downstream services can converge through retries and idempotent consumption.
- 2.4 Best-Effort Notificationhistorical
A notification pattern for external or loosely coupled systems using bounded retries, durable result lookup, and reconciliation instead of atomic cross-system commit.
- 2.5 Sagahistorical
Long-running distributed transactions as a sequence of local transactions plus compensating actions, with orchestration/choreography and isolation trade-offs.
- 2.6 Three-Phase Commit (3PC)historical
The CanCommit, PreCommit, and DoCommit structure of 3PC, why it was proposed to reduce blocking, and why partitions still make it uncommon in practice.
- 2.7 Two-Stage Transaction Patternshistorical
A conceptual comparison between resource-level two-phase commit and application-level TCC, both of which separate preparation from the final decision.
- 2.8 Transactional Outbox / Local Message Tablehistorical
How to commit business state and an outgoing event in one local database transaction, then asynchronously publish with retries and idempotent consumption.
- 2.9 Two-Stage Implementation: 2PChistorical
A compact implementation-oriented view of two-phase commit and XA resource coordination.
- 2.10 Two-Stage Implementation: TCChistorical
An implementation-oriented summary of application-level Try/Confirm/Cancel transactions and their idempotency and compensation requirements.
- 2.11 Best-Effort Notification with a Message Queuehistorical
Using an MQ for retryable notifications while keeping an authoritative query path for receivers that miss or cannot process a callback.
- 2.12 RocketMQ Transactional Messageshistorical
RocketMQ's half-message, local-transaction, commit/rollback, and transaction-check protocol for coupling producer-side local state with message visibility.