Better Engineers

Better Engineers

How Shopify handles 16,000 Request per second

Better Engineering's avatar
Better Engineering
Dec 15, 2024
∙ Paid
42
13
Share

System Design Refresher

  1. Instagram System Design

  2. Designing a Robust Distributed Logging System for Modern Applications

  3. System Design: The Distributed Task Scheduler

  4. System Design of Reddit

  5. 10 System design trade-offs

  6. Rate Limiting Algorithms Explained with Code

  7. Low-Level Design (LLD) for Better Software Solutions

  8. Stateful vs Stateless Architecture

  9. Best Practices for Developing Microservices

  10. 10 Problems of Distributed Systems

  11. 20 System Design Concepts Every Developer Should Know - Part - I

  12. How Shopify handles 16,000 Request per second

  13. Software Architecture Pattern - Layered Architecture

  14. How Enterprise Applications Exchange Data Using Messaging

  15. Microservices Design Pattern - Event Sourcing Pattern

  16. Improve API Performance 🚀

  17. Distributed System Learning Roadmap

  18. 15 Scaling Techniques in Distributed Systems


Problem

Shopify has grown to host around 275,000 merchants and handles approximately 16,000 requests per second on a typical day.

Shopify faced significant scaling challenges due to unpredictable traffic spikes from flash sales, leading to database bottlenecks and affecting overall platform stability.

Evolution of Shopify's Architecture

Initially, Shopify operated as a single-tenant application but quickly transitioned to a multi-tenant model to accommodate growth.

For several years, the architecture saw minimal changes, leading to challenges such as the Flash Sale traffic pattern, which caused significant scaling issues, particularly with the database.

In 2013-2014, Shopify focused on database-level isolation, which significantly improved scalability.

Flash Sale Problem

  • Flash sales occur when merchants announce limited inventory sales, leading to unpredictable spikes in traffic that are difficult to manage.

  • These events typically result in heavy write traffic to the database, complicating caching and resource provisioning.

  • Shopify's architecture needed to be over-provisioned to handle these unpredictable traffic surges.

Shopify Architecture :

Keep reading with a 7-day free trial

Subscribe to Better Engineers to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Dev Dhar
Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture