Concepts · System design
System design concepts
The building blocks behind every design: what each one is, when to use it, and where it breaks.
01 S3 Storage 02 Large file upload on s3 03 Dynamo db 04 Websocket 05 Geospatial index 06 Optimistic locking 07 Change Data Capture 08 Elastic search 09 ACID transaction 10 Redis: Distributed Lock, Sorted Set, Set 11 Cassandra 12 Lua Script 13 APNS & FCM Notification 14 Bloom Filter 15 PUT /PATCH/POST 16 Idempotent 17 Virtual Machine 18 Docker 19 Webhook 20 API Security: API keys, iframes, HMAC 21 SSE 22 Zookeper 23 Pub/Sub 24 Postgres 25 All types of index and when to use 26 Amazon SQS 27 CDN 28 Flink & Spark (reference ad click aggregator) 29 Lamba architecture (reference ad click aggregator) 30 Time-series database (reference metric monitoring) 31 When the Cache Goes Down