CDN System Design

Design a Content Delivery Network (CDN)

Complete CDN design walkthrough covering architecture, edge servers, caching policies, content propagation, cache invalidation, and serving content globally at scale.

December 21, 2024 · 3 min · 458 words · Eakan Gopalakrishnan
Key-Value Store Design

Design a Distributed Key-Value Store

Complete key-value store design covering requirements, API design, consistent hashing, data partitioning, replication strategies, failure handling, and scaling.

December 21, 2024 · 4 min · 655 words · Eakan Gopalakrishnan
Load Balancers System Design

Load Balancers Explained - Part 1

Complete guide to load balancers covering algorithms (round-robin, least connections), global vs local load balancing, stateful vs stateless approaches, and scaling strategies.

November 25, 2022 · 9 min · 1863 words · Eakan Gopalakrishnan
System Design Interview Preparation

What is a System Design Interview

Complete guide to understanding system design interviews, what interviewers expect, and how to prepare effectively for distributed systems and scalability questions.

October 16, 2022 · 7 min · 1427 words
Consistency Models

Consistency Models in Distributed Systems

Complete guide to consistency models covering strong consistency, eventual consistency, CAP theorem, linearizability, and trade-offs in distributed systems.

October 27, 2022 · 5 min · 953 words · Eakan Gopalakrishnan
Failure Models

Failure Models in Distributed Systems

Complete guide to failure models covering crash failures, omission failures, Byzantine failures, network partitions, and fallacies of distributed systems.

October 30, 2022 · 2 min · 419 words · Eakan Gopalakrishnan
System Design Fundamentals

What is System Design? Understanding the Fundamentals

Introduction to system design fundamentals covering core concepts, design principles, thinking patterns, and the philosophy behind building large-scale systems.

October 26, 2022 · 2 min · 284 words · Eakan Gopalakrishnan
DNS - Domain Name System

Domain Name System (DNS) Explained

Complete guide to understanding DNS (Domain Name System), how it works as the internet’s phonebook, DNS architecture, and resource record types for system design interviews.

November 21, 2022 · 8 min · 1520 words · Eakan Gopalakrishnan
Transactional Outbox Pattern Architecture Diagram

Transactional Outbox Pattern: A Practical Guide to Trade-offs

In event-driven systems, services often need to update local state and publish an event for other services. Doing these as separate operations introduces a consistency risk known as the Dual Write Problem. The core requirement is simple: the database write and event publication should represent one logical change. If one succeeds and the other fails, downstream systems may observe incomplete state. The Transactional Outbox Pattern is a practical way to address this in many microservice architectures. ...

September 8, 2025 · 4 min · 794 words · eakangk
System Design

What is a System Design Interview

Most good organisations expect their engineering hires to have gone through a system design interview. For a vast majority of people this might sound like a weird thing to do as most people don’t individually design large scale systems. So expecting someone to design a highly scalable and available system in less than 60 minutes is a daunting task. We must also consider the fact that not everyone gets to work in organisations that build large scale distributed systems. I think the time when I worked in FactSet was when I dealt with extremely large volumes of data and we focussed on the performance of queries from the database to sub 5 ms in order to ensure that even with latency, users would be able to see their graphs plotted in a second or so. Most applications wouldn’t really care about performance at that level because for their line business it probably doesn’t matter that much. ...

October 16, 2022 · 7 min · 1427 words