System Design: Learn how to design systems at scale and prepare for system design interviews


System Design
Learn how to design systems at scale and prepare for system design interviews
About the Book
System design interviews can be quite open-ended and intimidating as it is a very extensive topic. There can be multiple solutions to even the most basic system design problems. My objective with this book is to help you learn the fundamentals and explore the advanced topics of system design. This will also provide you with a reliable strategy to prepare for system design interviews.


Table of Contents
Preface
License
Getting Started
What is system design?
Chapter I
IP
OSI Model
TCP and UDP
Domain Name System (DNS)
Load Balancing
Clustering
Caching
Content Delivery Network (CDN)
Proxy
Availability
Scalability
Storage
Chapter II
Databases and DBMS
SQL databases
NoSQL databases
SQL vs NoSQL databases
Database Replication
Indexes
Normalization and Denormalization
ACID and BASE consistency models
CAP theorem
PACELC Theorem
Transactions
Distributed Transactions
Sharding
Consistent Hashing
Database Federation
Chapter III
N-tier architecture
Message Brokers
Message Queues
Publish-Subscribe
Enterprise Service Bus (ESB)
Monoliths and Microservices
Event-Driven Architecture (EDA)
Event Sourcing
Command and Query Responsibility Segregation (CQRS)
API Gateway
REST, GraphQL, gRPC
Long polling, WebSockets, Server-Sent Events (SSE)
Chapter IV
Geohashing and Quadtrees
Circuit breaker
Rate Limiting
Service Discovery
SLA, SLO, SLI
Disaster recovery
Virtual Machines (VMs) and Containers
OAuth 2.0 and OpenID Connect (OIDC)
Single Sign-On (SSO)
SSL, TLS, mTLS
Chapter V
System Design Interviews
URL Shortener
WhatsApp
Twitter
Netflix
Uber
Appendix
Next Steps
References

相关文件下载地址

下载地址 Download
解决验证以访问链接!
打赏
未经允许不得转载:finelybook » System Design: Learn how to design systems at scale and prepare for system design interviews

评论 抢沙发

觉得文章有用就打赏一下

您的打赏,我们将继续给力更多优质内容

支付宝扫一扫

微信扫一扫