Two-Phase Commit vs. Saga Pattern: distributed transactions in microservices
Why synchronous Two-Phase Commit (2PC) fails in cloud microservices, and how the asynchronous Saga pattern coordinates distributed transactions with compensating rollbacks.
The engineering questions you get asked, and the bugs you actually hit. Drawn, one mechanism at a time, in the order the videos ship.
Why synchronous Two-Phase Commit (2PC) fails in cloud microservices, and how the asynchronous Saga pattern coordinates distributed transactions with compensating rollbacks.
A deep dive into distributed consensus, linearizability, PACELC theorem, and choosing between immediate consistency and high-throughput low latency.
How to eliminate heavy file upload traffic from application servers by using AWS S3 Presigned URLs and asynchronous serverless event processing.
How Raft consensus, heartbeat timers, and majority quorum rules ensure only one node coordinates writes and prevent irreversible state divergence.
Why naive modulo hashing causes catastrophic cache stampedes when resizing clusters, and how the 360-degree hash ring bounds key remapping to K/N.
You cannot choose CA in distributed systems because network partitions are unavoidable. The real architectural tradeoff is between CP and AP during a network split.
When a table grows past 500 million rows, partitioning keeps query plans fast on one server while sharding scales writes across a cluster at the cost of ACID.
How reverse proxies distribute millions of requests across clusters, and why picking the wrong algorithm creates hot spots and crashes servers.
Microservices do not eliminate complexity; they move in-memory function calls over the network into distributed systems. What you gain, what you lose, and when to switch.
RabbitMQ and SQS are message queues where messages are consumed and deleted. Kafka is an append-only distributed commit log where events are retained and replayed.