Please enable JavaScript.
Coggle requires JavaScript to display documents.
System Design - Coggle Diagram
System Design
Protocols
HTTP
WebSockets
Server sent events
gRPC
REST
GraphQL
Short polling
Long polling
System quality
Scalability
Vertical
Horizontal
Reliability
Consistency
Availability
Resiliency
Performance
Latency
Throughput
Observability
Adaptability
Security
Backend
Databases
Types
Non-relational
Document
Key-Value
Column
Graph
Relational
ACID
Atomicity
Consistency
Isolation
Durable
Scaling
Replication
Primary/Replica or Master/Servo
Primary/Primary
Peer to Peer
Sharding
Horizontal
Vertical
Directory based
Criteria
Key or hash based
List
Round-robin
Composite
Problems
Joins and denormalization
Referential Integrity
Rebalancing
Partitioning
Caching
Types
Content Distribution Network (CDN)
Key-Value (Redis)
Browser local storage / HTTP
Database cache
Strategies
Write-through cache
Cache aside (lazy loading)
Write-behind cache
Eviction
First In First Out (FIFO)
Last In First Out (LIFO)
Least Recently Used (LRU)
Most Recently Used (MRU)
Least Frequently Used (LFU)
Random Replacement (RR)
Invalidation
TTL - Time based
Event-based
Version tagging
Refresh ahead
Load balancing
Health checks
Algorithms
Least connection method
Least respones time method
Least bandwidth method
Round Robin Method
Weighted Round Robin Method
IP Hash
Proxies
Open proxy
Anonymous proxy
Transparent proxy
Reverse proxy
Consistent Hashing
CAP Theorem (Trade-offs)
Consistency
Availability
Partition Tolerance
Frontend