Distributed Systems
46 notes
Some notes are currently available only in Chinese. English translations are shown when available.
- 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.
- 3. Distributed Consensus Algorithmshistorical
Why distributed nodes need consensus, how Paxos, Raft, ZAB, and Gossip differ, and how consensus relates to strong or eventual consistency.
- 3.1 Paxoshistorical
Basic Paxos roles and two-phase decision flow, why contention is expensive, and how Multi-Paxos uses a stable leader to make repeated consensus practical.