Consistent Hashing Explained for Engineers Who Operate Real Systems
How consistent hashing actually works in production: virtual nodes, rebalancing, hot keys, and why naive modulo hashing fails at scale.
67 posts · page 2 of 2
How consistent hashing actually works in production: virtual nodes, rebalancing, hot keys, and why naive modulo hashing fails at scale.
A senior-engineer guide to designing rate limiters: algorithms, distributed coordination, trade-offs, and production patterns that actually scale.
A practical look at distributed locking with Redis: SET NX EX, Redlock, fencing tokens, and the failure modes that cause data corruption.
What event-driven architecture really gives you, when to choose it, and the operational realities of running asynchronous systems at scale.
A senior-engineer comparison of Kafka and RabbitMQ: log vs queue semantics, throughput, ordering, retention, and the real selection criteria.
Design a real-time chat system that supports millions of users with low latency messaging, presence, and message persistence at scale.
Design a distributed cache using consistent hashing, replication, and eviction policies to speed up reads at internet scale.
Design a file storage service with uploads, sync, deduplication, and sharing, scaling to petabytes while keeping reads fast and cheap.
Design a real-time leaderboard using Redis sorted sets, handling millions of score updates per second with low latency rankings.
Design a notification service that delivers email, SMS, and push reliably with templating, rate limits, retries, and user preferences.
Design a payment gateway with idempotency, double-entry ledgers, retries, and PCI considerations, balancing safety and throughput.
Compare cache-aside, read-through, write-through, write-behind, and refresh-ahead. Learn when each strategy fits, what consistency you give up, and how to choose for interviews.
A practical introduction to sharding: range, hash, directory, and geo-based partitioning. Learn how to pick a shard key, handle hot shards, and plan resharding without downtime.
A repeatable 7-step framework for system design interviews. Clarify, estimate, API, data model, high-level, deep dive, bottlenecks — with concrete examples for each step.
A practical 6-step framework for system design interviews that keeps you on track when you are nervous, short on time, and asked to design something huge.
Design a distributed in-memory cache like Redis or Memcached. Covers consistent hashing, replication, eviction, persistence, and surviving node failures cleanly.
Design a layer 4 and layer 7 load balancer. Covers algorithms, health checks, sticky sessions, TLS termination, and surviving traffic spikes without dropping connections.
Design a durable message queue like Kafka or Pulsar. Covers partitions, replication, consumer groups, ordering guarantees, and exactly-once semantics in practice.
Design a URL shortener like TinyURL or Bit.ly. Covers ID generation, storage, read-heavy scaling, caching, analytics, and tradeoffs you should defend in an interview.