
The number of times someone has mentioned CAP Theorem to me unprompted? I can count them on one finger.
One.
In 25+ years.
Six years ago.
Story time. It was an interview candidate. They brought it up and I nearly knocked my Liquid Death over. We talked about it for twenty minutes. Completely derailed the interview. They got the job. Did I hire them because of CAP Theorem? No. Maybe. Yes. I also don't expect everyone to understand it or recognize it's usage. Again, I've NEVER asked about it in an interview, but, well, this was a reverse uno on me when this person did.
Speaking of fun, nuance, I've heard "microservices" nine thousand times but I bet everyone saying this, doesn't know what happens when their network partitions.
CAP Theorem.
Here it is, as explained by me, Jake.
Distributed systems get to pick two: Consistency, Availability, Partition Tolerance. Not three. Two. Also not five. This isn't a negotiation. You don't get extra credit for wanting it really bad.
Consistency means all nodes see the same data at the same time.
Availability means the system responds no matter what.
Partition Tolerance means it survives when the network decides to have feelings.
But here's the dirty secret. You're already choosing Partition Tolerance. Networks fail, it's infrastructure. So really you're picking between Consistency and Availability. The whole "triangle" framing makes it sound like a buffet. It's not. You're picking a side in a custody battle where the kid is your uptime.
Gaming platforms pick Availability. Your score might be wrong for three seconds. Nobody dies.
Healthcare picks Consistency. You want "eventually accurate" on a medication dosage? No. You want it right. You'll wait for the screen to load.
Most teams? They've implemented eventual consistency without knowing it, and eventual consistency is what I go for too. Don't want to? Go use SAGA pattern, it's a great one.
If these concepts are new to you, go dive deeper into it! If you think your team already understands it, go ask them.
Seriously.
Right now.
I'll wait.
Bring snacks 🍿
It's going to be a long conversation.
❤️
Jake