🧱 Building Blocks

For each block, know: what it does, when to use it, how it scales, how it fails, and 2 real products.

BlockPurposeReal productsKey concerns
DNSName → IP, geo routingRoute 53, CloudflareTTL, failover
CDNCache static/dynamic content at the edgeCloudFront, Cloudflare, AkamaiInvalidation, cache keys
Load balancerDistribute traffic, health checksALB/NLB, Envoy, NGINX, HAProxyL4 vs L7, sticky sessions, algorithms
API gatewayAuth, rate limiting, routing, aggregationKong, Envoy Gateway, AWS API GW, Spring Cloud GatewaySingle point of failure, latency
ServiceBusiness logicYour codeStateless, horizontal scaling
CacheLow-latency readsRedis, Memcached, CaffeineInvalidation, stampede, consistency
Relational DBSource of truth, transactionsPostgreSQL, MySQL, AuroraScaling writes, schema migrations
Wide-column / KVMassive scale, simple accessCassandra, DynamoDB, ScyllaDBData modeling by query, hot partitions
Document DBFlexible schemaMongoDBTransactions, joins
SearchFull-text, facets, relevanceOpenSearch/ElasticsearchIndexing lag, reindexing
Vector DBSemantic similaritypgvector, Qdrant, Weaviate, PineconeRecall vs latency, filtering
OLAPAnalyticsClickHouse, BigQuery, Snowflake, DruidIngestion, columnar storage
Object storageBlobs, files, backups, data lakeS3, GCS, MinIOPresigned URLs, lifecycle
QueueTask distributionSQS, RabbitMQVisibility timeout, DLQ
Event logStreaming, replay, fan-outKafka, Redpanda, Kinesis, PulsarPartitions, ordering, retention
Workflow engineDurable, long-running processesTemporal, AWS Step FunctionsDeterminism, versioning
CoordinationLeader election, config, locksetcd, ZooKeeperConsensus, quorum
ID generatorUnique, sortable IDsSnowflake, UUIDv7, ULIDClock skew
Rate limiterProtect resourcesRedis + token bucket, EnvoyDistributed counting
NotificationPush, email, SMSFCM/APNs, SES, TwilioRetries, dedupe, preferences
ObservabilityMetrics, logs, tracesPrometheus, Grafana, OTel, Loki, TempoCardinality, cost

Must-know algorithms inside systems

Consistent hashing · Bloom filters · HyperLogLog · Count-Min sketch · Merkle trees · Geohash/quadtree/S2/H3 · Token bucket / leaky bucket / sliding window · Gossip protocols · Vector clocks · LSM trees · Skip lists

🧪 Labs (🟢 warm-up → 🟡 core → 🔴 hard → ⚫ boss)

  • 🟡 Build miniature versions: a rate limiter (W2), a KV cache (W1), an L7 LB (W3), a queue with leases (W10), an ID generator (Snowflake in Go)
  • 🔴 Bloom filter + HyperLogLog + count-min sketch in Go with accuracy tests
  • 🔴 Consistent hash ring with virtual nodes; measure key movement

🧠 Cognitive tasks

  • For each block, write: how it scales, how it fails, and 2 real products that use it
  • Reverse engineering: identify every building block in Orbit’s architecture diagram

🛰️ Orbit integration

Go deeper