Skip to main content

How Shipt built a distributed payment system | Distributed Systems

In this livestream we cover how Shipt built a distributed payment system on CockroachDB. David Templin, our guest, is a master of Distributed Systems and, in particular, how to get "correct" data in a complex and powerful distributed system. For context, Shipt operates across 270+ major metro cities throughout the U.S., partnering with retailers like Target (its parent company), Costco, BestBuy, CVS, Kroger, and Petco to get groceries and household essentials in the hands of customers that same day. When it was time to build a new payment service, correctness was a top priority for Shipt since they couldn’t have a system that caused anomalies such as lost payments, double payments, undercharges, or overcharges. In this episode we cover topics such as: • Designing for correctness (it’s hard!) • Why idempotency is crucial for payments • Benefits of deploying across multiple clouds and regions 00:00 Introduction to the livestream 2:12 Introduction to David Templin from Shipt 4:51 What is Shipt? 9:40 Challenges of building a distributed payment system 14:04 Why did Shipt choose to build a distributed payment system? 15:48 Why choose Active-Active instead of Active-Passive? 16:51 Importance of database isolation levels 20:00 What Shipt likes about CockroachDB 23:10 CockroachDB vs Postgres vs Spanner 23:38 Why Shipt chose CockroachDB? #Shipt #CockroachDB #DistributedSQL #CloudDatabase