Member-only story
The Three Dimensions of System Design: Communication Models
Welcome to the second instalment in our series exploring the fundamental dimensions of system design! After examining Consistency Models, we’re now diving into how systems communicate with each other. Today, we’ll explore our second dimension: Communication Models.

This was initially posted in my newsletter BuildItSimple!, if you don’t have a medium membership, you can read it here:
Understanding Communication Models
Think of communication models like different ways of interacting with a coffee shop. In a synchronous model, when you’re ordering and waiting at the counter, you’re blocking both the cashier and the entire line behind you until your order is complete — the coffee shop can only process one customer at a time. In contrast, when you order and move to the pickup area (asynchronous), the cashier can keep taking new orders while multiple baristas work on different orders in parallel, making the whole system more efficient.