The Art of Scalable Systems: Designing for Success

Buckle up, intrepid coder! The Art of Scalable Systems is your passport to unraveling the mysteries of services. Explore the hilarious mishaps and ingenious solutions to everyday problems.

📚 NB: This is an attempt at documenting all my system design notes from reading and hands-on experience, starting with explaining the basic components of a service to providing examples of real world systems and discussing tradeoffs of possible solutions.

Table of contents

Basic Concepts

System components
System concepts

Design Patterns

Problem
Solution

Check set contains

Where to insert data

Ensure strong consistency

Ensure high availability

Atomicity in data transfers

Concurrent updates to file

Concurrent node writes

Node liveness

Deal with dead nodes coming back

Update dead nodes with missed data

Update stale nodes

Check data inconsistency

Data Synchronisation Patterns

Chapters

Monolith Decomposition Patterns

Chapters

Real World Scenarios

Chapters

Infrastructure Bits and Bobs

Chapters

Payments Domain

Chapters

Last updated