Table of Contents
Preface
Part 1: Foundations of System Design
1
Basics of System Design
What is system design?
Software system
Distributed software system
Understanding system design
What are the types of system design?
High-level system design
System architecture
Data flow
Scalability
Fault tolerance
Low-level system design
Algorithms
Data structures
APIs
Code optimization
Importance of system design in the industry
Practical examples of the importance of system design
Summary
2
Distributed System Attributes
A hotel room booking example
Consistency
Strong consistency
Eventual consistency
Availability
Understanding partition tolerance
Network partition
Partition tolerance
Latency
Durability
Reliability
Fault tolerance
Scalability
Vertical scaling ...
Get System Design Guide for Software Professionals now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.