Dual writes are the naive way to communicate information to multiple recipients: the data source explicitly communicates the information to each destination.
This has two serious corruption opportunities:
- Race condition if two processes are both updating the same target
- One request may fail while the other succeeds
A preferred solution is to provide a single source of truth, such as a persistent message broker capturing a change log, possibly with a compacted state snapshot cached for performance.