Glossary
Reconciliation
Regularly comparing two systems that should agree, such as your orders and your payment provider, and flagging or fixing any difference.
In plain terms
Distributed systems drift. A step fails halfway, an event arrives late, a failover accepts writes the other side never saw. Reconciliation is the safety net that finds the difference before a customer does.
It pairs naturally with compensating actions (the saga pattern), where each step of a workflow has an undo that runs if a later step fails.
See what happens without it
The failure pattern this protects against, partial success leaves systems out of sync, played out step by step.
Scroll the diagram sideways to see every system.
The customer has paid, but no order exists. The systems disagree.
What goes wrong:
- Checkout charges the customer’s card.
- Reserving the item fails halfway through.
- The workflow stops, and nothing undoes the charge.
- The customer has paid, but no order exists. The systems disagree.
With the safeguard:
- Checkout charges the customer’s card.
- Reserving the item fails halfway through.
- Every step has an undo: the workflow refunds the charge automatically.
- A reconciler compares the systems on a schedule and flags any gap.
When it mattered
In 2018 a 43-second network partition triggered a database failover at GitHub, leaving unreplicated writes that had to be reconciled by hand during 24 hours of degraded service.