Search

Lessons (9)

  • Time, Consistency and Distributed Transactions

    Reason about clocks, ordering, split brain, locks, CRDTs and transactions without promising impossible global certainty. ![Distributed correctness: clocks …

  • ACID, Transactions & Locks

    … without a distributed lock. Locks, deadlocks and good habits Locks protect conflicting work, but long transactions hold them …

  • Monolith vs Microservices

    … debug ❌ Distributed system complexity Calls between parts ✅ Fast, in-memory function calls ❌ Slow, unreliable network calls Transactions ✅ One …

  • Data in Microservices: Sagas & the Outbox Pattern

    … We need other tools. Why not a distributed transaction (2PC)? Two-phase commit asks every participant "can you …

  • SQL Language, Identifiers & Data Types

    … Many systems call COMMIT and ROLLBACK transaction-control statements. Q7: Identity, sequence and UUID An identity/auto-increment …

  • SQL vs NoSQL Databases

    … when the network between servers breaks (a P artition), a distributed database must choose between: - C onsistency: refuse …

  • Kafka vs RabbitMQ & the Kafka Ecosystem

    … side RabbitMQ Kafka --- --- --- Model Message broker with queues Distributed commit log After consumption Message is removed Message is …

  • Message Queues & RabbitMQ

    … properties.messageId)) return channel.ack(msg); await db.transaction(async (tx) = { await doTheWork(tx, job); await tx.processedMessages …

  • Event-Driven Architecture

    … when saving + publishing Transactional outbox pattern Hard to debug "what happened?" Correlation IDs, distributed tracing, an event catalog …