less than 1 minute read

System Design Interview Vol. 2: Learning Large-Scale System Design Through Mock Interview Cases, 2024, Insight, Alex Xu & Sahn Lam, translated by Lee Byeong-jun

Large-scale systems are, in their own right, one of the engineering marvels of the modern age. And yet, we developers have to build such things to make a living, and sometimes we even want to. After all, gigantic systems are rare, and the opportunity to build one is rarer still. So how do you go about building them? Most engineering problems can be solved by adding an intermediate layer. Too many messages flooding into your server? Add Kafka. Too much load on your DB? Add Redis. In a way, these might be obvious answers. But just like the Google Maps implementation, the designs are so subtle that the more you read, the more you marvel at them. And even when the design is settled, figuring out how to actually implement it feels utterly daunting. On top of that, I was genuinely astonished that systems demanding extreme speed, like a stock exchange, can’t use any intermediary at all. Is the monolithic architecture not dead yet, or will even this someday be overcome?

20240421

Leave a comment