The app for independent voices

If I had to start with system design,

I'd learn these concepts:

1 Scalability

2 Availability

3 Reliability

4 Latency

5 Throughput

6 Capacity

7 Client-Server

8 Database

9 SQL vs NoSQL

10 Load Balancing

11 Caching

12 Cache Invalidation

13 CDN

14 DNS

15 API Design

16 REST

17 GraphQL

18 gRPC

19 Authentication

20 Authorization

21 Rate Limiting

22 Fault Tolerance

23 High Availability

24 CAP Theorem

25 Consistency Models

26 Replication

27 Partitioning

28 Sharding

29 Indexing

30 Denormalization

31 ACID

32 BASE

33 Microservices

34 Monolith

35 Event-Driven

36 Message Queue

37 Pub/Sub

38 Sync vs Async

39 Idempotency

40 Backpressure

41 Circuit Breaker

42 Bulkhead

43 Retry Logic

44 Timeout

45 Service Discovery

46 API Gateway

47 Load Shedding

48 Autoscaling

49 Blue-Green

50 Canary Release

51 Feature Flags

52 Observability

53 Logging

54 Metrics

55 Tracing

56 Correlation ID

57 Monitoring

58 Alerting

59 Full-Text Search

60 Time Series

61 Vector DB

62 Materialized View

63 Query Optimization

64 Connection Pooling

65 Cache Stampede

66 Cache Warming

67 CDN Caching

68 Data Compression

69 Serialization

70 Deserialization

71 WebSockets

72 WebRTC

73 CQRS

74 Event Sourcing

75 Service Mesh

76 Sidecar

77 BFF

78 Strangler Pattern

79 LSM Trees

80 B-Trees

81 Merkle Trees

82 Bloom Filter

83 HyperLogLog

84 MapReduce

85 Batch Processing

86 Stream Processing

87 ETL

88 Data Pipeline

89 Data Lake

90 Data Warehouse

91 Secrets Management

92 RBAC

93 SSO

94 Encryption

95 Checksum

96 Erasure Coding

97 Consensus

98 Leader Election

(…and 16 more concepts)

===

👋 PS - Want a detailed breakdown of each concept?

Read right now:

→ Part 1: newsletter.systemdesign…

→ Part 2: newsletter.systemdesign…

→ Part 3: newsletter.systemdesign…

===

💾 Save this for later & restack to help others learn system design.

Apr 2
at
12:30 PM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.