You are on page 1of 1

Find the detailed version of this roadmap

References / Resources
along with resources and other roadmaps

 Donne Martin’s System Design Primer
System Design https : // roadmap.sh

 ByteByteGo YouTube Channel

What is System Design


Introduction Who is this guide for?
How to approach System Design

AP - Availability + Partition Tolerance

Performance vs Scalability Latency vs Throughput CP - Consistency + Partition Tolerance

Availability vs Consistency CAP Theorem

Returning Results
Master-Slave Active-Passive
Consistency Patterns
Master-Master Active-Active
Schedule Driven
Replication Fail-Over
Event-Driven Weak Consistency

Eventual Consistency
Background Jobs Availability Patterns
Strong Consistency

Availability in Numbers
Domain Name System
99.9% availability - three 9s LB vs Reverse Proxy

99.99% availability - four 9s Load Balaning Algorithms


Content Delivery Networks
Avail. in Parallel vs Sequence Layer 7 Load Blancing

Layer-4 Load Balancing


Push CDNs
Load Balancers Horizontal Scaling
Pull CDNs

Application Layer Microservices


Key-Value Store
SQL vs NoSQL Service Discovery
Document Store

Wide Column Store Databases

Graph Databases NoSQL Refresh Ahead

Back Pressure Write-behind


Replication RDBMS
Task Queues Write-through
Sharding
Message Queues
Cache Aside
Federation
Strategies
Denormalization Idempotent Operations Asynchronism

SQL Tuning
Caching

Busy Database
Communication HTTP TCP UDP
Client Caching
Busy Frontend
RPC REST CDN Caching
Chatty I/O
gRPC GraphQL Web Server Caching
Extraneous Fetching

Database Caching
Improper Instantiation Performance Antipatterns
Health Monitoring
Application Caching
Monolithic Persistence
Availability Monitoring
No Caching
Performance Monitoring
Noisy Neighbor
Monitoring Security Monitoring
Retry Storm
Ambassador
Usage Monitoring
Synchronous I/O
Anti-Corruption Layer
Instrumentation

Backends for Frontend


Visualization and Alerts

CQRS

Asynchronous Request Reply Compute Resource Consolidation

Claim Check External Configuration Store

Choreography Cache-Aside Gateway Aggregation

Competing Consumers CQRS Gateway O!loading

Pipes and Filters Event Sourcing Gateway Routing

Priority Queue Index Table Leader Election

Publisher/Subscriber Materialized View Pipes and Filters

Queue-Based Load Leveling Sharding Sidecar

Scheduling Agent Supervisor Static Content Hosting Static Content Hosting

Seuquential Convoy Valet Key Strangler Fig

Cloud Design Patterns Messaging Data Management Design & Implementation

Reliability Patterns

Availability High Availability Resiliency Security

Deployment Stamps Deployment Stamps Bulkhead Federated Identity

Geodes Geodes Circuit Breaker Gatekeeper

Health Endpoint Monitoring Health Endpoint Monitoring Compensating Transaction Valet Key

Queue-Based Load Leveling Bulkhead Health Endpoint Monitoring

Throttling Circuit Breaker Leader Election

Queue-Based Load Leveling

Retry

Scheduler Agent Supervisor

Continue Learning with following relevant tracks

Software Design & Architecture Roadmap Backend Roadmap

You might also like