Inside front cover
This is a quick lookup guide for common considerations in system design. After you read the book, you can refer to the appropriate sections when you design or review a scalable/distributed system and need a refresher or reference on a particular concept.
Concept |
Chapter(s)/section(s) |
---|---|
Tradeoffs |
1.1, 2 |
A simple full stack design |
1.4 |
Functional partitioning, centralization of cross-cutting concerns |
1.4.6, 6 |
Requirements |
2, 3 |
Logging, monitoring, alerting |
2.5 |
Distributed databases |
4 |
Sampling |
4.5, 11.8-10 |
Distributed transactions |
5 |
Library vs. service |
6.6, 12.6 |
REST, RPC, GraphQL, WebSocket |
6.7 |
Graceful degradation |
2, 3.3 |
Data migrations |
7.7 |
Distributed rate limiting |
8 |
Distributed notification service |
9 |
Data quality |
2.5.5, 10 (also covers auditing) |
Exactly-once delivery |
14 |
Personalization |
1.4, 16 |
Lambda architecture |
17 |
Authentication and authorization |
13.3, appendix B |