1. 1.11 Distributed-System Communicationhistorical

    Synchronous and asynchronous service communication, RPC versus resource-oriented HTTP APIs, API compatibility, and message encoding choices.

  2. 1.12 Stateful and Stateless Serviceshistorical

    How state placement changes routing, scalability, recovery, and storage dependencies in distributed services.

  3. 1.13 Distributed-System Upgrades and Rollbackshistorical

    Deployment strategies for multi-instance services: downtime, blue-green, rolling, canary rollout, A/B testing, and practical rollback mechanisms.

  4. 1.14 Distributed-System Failureshistorical

    Failure detection and common resilience behaviors including failover, fail-fast, fail-safe, fail-silent, failback, hedged/forked calls, and broadcast calls.

  5. 1.15 Inter-Node Communicationhistorical

    How distributed nodes exchange cluster metadata and the trade-offs between centralized coordination and peer-to-peer dissemination.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.