All Stories

Chapter14 - google-search

Design A Search Autocomplete SystemSearch autocomplete is the feature provided by many platforms such as Amazon, Google and others when you put your cursor in your search bar and star...

In tutorial, google-search, system design, Jan 21, 2025

Chapter13 - store-relay-message

Design a Chat SystemWe’ll be designing a chat system similar to Messenger, WhatsApp, etc.

In tutorial, store-relay-message, system design, Jan 21, 2025

Chapter12 - feed-publishign

Design a News Feed SystemNews feed == constantly updating list of stories on your home page.

In tutorial, feed-publishign, system design, Jan 21, 2025

Chapter11 - ios-push-notifications

Design a Notification SystemNotification systems are a popular feature in many applications - it alerts a user for important news, product updates, events, etc.

In tutorial, ios-push-notifications, system design, Jan 21, 2025

Chapter10 - web-crawler-example

Design a Web CrawlerWe’ll focus next on designing a web crawler - a classical system design problem.

In tutorial, web-crawler-example, system design, Jan 21, 2025

Chapter09 - tinyurl-example

Design a URL ShortenerWe’re tackling a classical system design problem - designing a URL shortening service like tinyurl.

In tutorial, tinyurl-example, system design, Jan 21, 2025

Chapter08 - multi-master-replication

Design a Unique ID Generator in Distributed SystemsWe need to design a unique ID generator, compatible with distributed systems.

In tutorial, multi-master-replication, system design, Jan 21, 2025

Chapter07 - cap-theorem

Design a Key-Value StoreKey-value stores are a type of non-relational databases. Each unique identifier is stored as a key with a value associated to it. Keys must be unique and can...

In tutorial, cap-theorem, system design, Jan 21, 2025

Chapter06 - hash-ring

Design Consistent HashingFor horizontal scaling, it is important to distribute requests across servers efficiently.

In tutorial, hash-ring, system design, Jan 21, 2025

Chapter05 - server-side-rate-limiter

Design a Rate LimiterThe rate limiter’s purpose in a distributed system is to control the rate of traffic sent from clients to a given server.

In tutorial, server-side-rate-limiter, system design, Jan 21, 2025