Design the architecture for Amazon's e-commerce platform - the world's largest online marketplace with 300+ million active customers, 12 million products (first-party), and 350+ million products including third-party sellers. Your design must cover:
- Product catalog - a massive, hierarchical catalog with categories, filters, variants (size, color), pricing, inventory, and seller information. The catalog is updated millions of times per day by sellers.•Search & browse - product search with filters, faceted navigation, spell correction, and "did you mean" suggestions. Search must handle 50,000 queries per second at peak. Results ranked by relevance, price, reviews, and sponsored placement.•Shopping cart - a highly available cart service. Cart must survive server failures - users should never lose items from their cart. (Amazon's Dynamo paper was born from this requirement.)•Checkout & payment - a multi-step checkout (address → shipping → payment → confirm) that processes thousands of orders per second. Inventory must be reserved atomically to prevent overselling.•Recommendation engine - "Customers who bought X also bought Y", personalized home page, and "frequently bought together." Powers ~35% of Amazon's revenue.•Order fulfillment - once an order is placed, route it to the optimal warehouse, generate a pick list, and hand off to shipping. Multiple items in one order may ship from different warehouses.•Reviews & ratings - user-generated reviews with abuse detection, helpful votes, and verified purchase badges.
This challenge tests your ability to decompose a massive monolith into microservices with clear ownership boundaries.
Design Amazon's e-commerce platform - product catalog, cart, checkout, recommendations, and warehouse fulfillment at 300 M+ users. Build this architecture under realistic production constraints, then validate tradeoffs in the design lab simulation.
Request path: The solution keeps ingress, service logic, and stateful dependencies separated so each layer can scale independently.
Reference flow: Web Clients -> Load Balancer -> API Gateway -> Core Service -> Primary NoSQL DB -> Redis Cache -> Message Queue -> Background Workers