Modeling Money Movement: Ledgers, State Machines, and Exactly-Once Effects
How Stripe models money movement with immutable ledger entries and explicit state machines to guarantee correctness even when networks and services fail.
Tag
14 articles
How Stripe models money movement with immutable ledger entries and explicit state machines to guarantee correctness even when networks and services fail.
How Google's Site Reliability Engineering practice used error budgets and a hard cap on toil to align reliability work with product velocity.
How DoorDash designs for graceful degradation and load shedding so a spike or partial outage on one side of its marketplace doesn't take down the rest.
WhatsApp famously ran hundreds of millions of users on a strikingly small engineering team by designing operational simplicity into the system itself.
How Stripe layers per-request rate limiting with system-wide load shedding to keep its payments API available when traffic spikes or dependencies slow down.
How AWS uses cell-based architecture and shuffle sharding to keep one customer's or one partition's failure from taking down everyone else.
How the transactional outbox pattern makes updating a database and publishing an event atomic, without a distributed transaction.
Why most postmortems produce a document nobody acts on, and what separates a blameless postmortem process that genuinely prevents repeat incidents.
How Slack structures incident severity, on-call response, and blameless postmortems to turn outages into durable operational improvements.
Shopify runs months of scripted load tests and failure drills against production infrastructure to prepare for Black Friday Cyber Monday.
Idempotency keys, atomic check-and-write, and why PUT being idempotent by spec doesn't make it the right tool for a retried write.
Why deadlocks happen even in well-designed schemas, how to read a deadlock log, and the lock-ordering habits that prevent them.
Choreography versus orchestration, compensating actions, and the eventual consistency you actually get from the saga pattern.
What synchronous and asynchronous replication actually guarantee during a failover, and why the choice is really about how much data you can lose.