Shopping cart quorum tuning

DesignHard45 minAmazon style

Your task

Design the storage layer for a globally distributed shopping-cart service (Dynamo-style) replicated N=3 per key across regions. The product needs 'always writable' carts (adding an item must never fail even during a network partition) but checkout must read a consistent view of the cart. With per-request tunable R and W, how do you set quorums for the add-item path vs the checkout path, and how do you handle a node that's down during a write?

It covers

  • Tunable consistency
  • Sloppy quorum
  • Hinted handoff