Skip to content

Archive

Scalability

4 articles
Software Engineering 22 Sep 2026 7 min read

Consistent Hashing Limits Key Movement During Topology Changes

Consistent Hashing Limits Key Movement During Topology Changes A distributed cache or partitioned service needs a rule that maps each key to a node. A simple rule such as hash(key) % N is attractive while the node count stays fixed. The trouble appears when N changes. Moving from four nodes to five changes the divisor for every key. Most remainders change, so a routine capacity adjustment can remap a large share of the dataset at once. For a cache, that can trigger a wave of misses. For stateful storage, it can create a large migration job.

Software Engineering 12 Sep 2026 9 min read

Consistent Hashing: Limit Key Movement as Nodes Change

Distributed systems often need a deterministic answer to a simple question: given a key, which node should own it? A cache cluster may route each object key to one server. A storage service may assign each partition to a shard. A worker pool may send all events for the same account to the same processor. The routing rule must be stable enough that clients agree, yet flexible enough to handle nodes joining and leaving.

Cloud Computing 02 Sep 2026 5 min read

Load Shedding and Overload Protection for Cloud Services

Autoscaling is useful, but it is not instantaneous. Traffic can rise faster than new instances start, a dependency can slow down, or a retry storm can multiply work. When demand exceeds safe capacity, accepting every request can make the entire service slower until almost nothing completes. Load shedding is the deliberate rejection or degradation of work to keep the system inside a recoverable operating range. Overload is often a queueing problem Imagine a service that safely handles 200 concurrent requests. A downstream dependency slows from 50 ms to 2 seconds.

Cloud Computing 01 Sep 2026 5 min read

Designing Stateless Web Services for Horizontal Scaling

Horizontal scaling adds application replicas instead of making one machine larger. The load balancer can send each request to any healthy instance, which only works reliably when instances do not depend on unique local state. “Stateless” does not mean the application has no state. It means durable or shared state lives outside an individual process so any replica can continue serving the workload. Identify hidden local state A service may appear stateless while depending on: