Shopify's Modular Monolith and Pods: Surviving Flash Sales
How Shopify stayed on a modular Rails monolith and isolated flash-sale blast radius with pod-based sharding instead of splitting into microservices.
Tag
8 articles
How Shopify stayed on a modular Rails monolith and isolated flash-sale blast radius with pod-based sharding instead of splitting into microservices.
Hash-based, range-based, and directory-based shard keys compared, and why resharding is the expensive part nobody plans for early.
When a time-series database earns its place over a general-purpose one, and what you give up in exchange for the speed it buys you.
Transport-layer and application-layer load balancers make routing decisions with very different visibility — here's what each one trades off.
How consistent hashing limits data movement when nodes join or leave, and why virtual nodes are what makes it actually balanced.
CQRS doesn't require event sourcing or a second database — a minimal, practical version of the pattern and when to reach for more.
Fixed window, sliding window, token bucket, and leaky bucket rate limiters compared, with the burst and fairness trade-offs each one hides.
A comparison of range, list, and hash partitioning strategies, when each one earns its operational complexity, and when it's premature.