All Episodes

May 17, 2026 • 9 mins

Design a batch processing system for end-of-day payment settlement at a payments company that processes 50 million transactions per day. The system must net merchant positions, calculate fees, and initiate fund transfers to merchant bank accounts within a strict bank cutoff window. Walk me through your design, covering reliability, scalability, and how you'd handle failures.

Key Takeaways

  1. The outbox pattern is the canonical solution to the dual-write problem. Know it cold.
  2. Partition keys define ordering and parallelism — choose with intention, usually around the natural aggregation boundary (here, merchant ID).
  3. Throttling must be distributed when you have multiple workers — Redis-backed buckets or a sidecar.
  4. Idempotency is non-negotiable in payments. Design for at-least-once and dedupe.
  5. Retries are tiered: in-process for transient, delay-queue for slower-resolving, DLQ for terminal.
  6. Backpressure beats dropping — use Kafka lag as your buffer when downstream is slow.
  7. Reconciliation closes the loop — you don't know it worked until ground truth confirms.
  8. Corrections are new events — never rewrite history in a financial system.
Listen
Watch
Mark as Played

Advertise With Us

Popular Podcasts

Stuff You Should Know
Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

The Joe Rogan Experience

The Joe Rogan Experience

The official podcast of comedian Joe Rogan.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2026 iHeartMedia, Inc.

  • Help
  • Privacy Policy
  • Terms of Use
  • AdChoicesAd Choices