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
Design Patterns
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
Monolith Decomposition Patterns
Real World Scenarios
Infrastructure Bits and Bobs
Payments Domain
Last updated