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